/* Capacity Snapshot v1. Scoped to this experience; all layout can grow with text. */
.capacity-snapshot {
  --cs-violet: #7046b5;
  --cs-ink: #252525;
  --cs-text: #575757;
  --cs-rule: #d5d5d5;
  --cs-paper: #ffffff;
  --cs-surface: #f7f7f7;
  width: min(1120px, calc(100% - 40px));
  margin-inline: auto;
  color: var(--cs-ink);
  font-family: var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif);
  padding-block: 36px 64px;
}
.capacity-snapshot *, .capacity-snapshot *::before, .capacity-snapshot *::after { box-sizing: border-box; }
.capacity-snapshot [hidden] { display: none !important; }
.capacity-snapshot :where(h1,h2,h3,p,figure,fieldset,legend,dl,dd,ol,ul) { margin: 0; }
.capacity-snapshot :where(h1,h2,h3) { font-family: var(--serif, 'Noto Serif', Georgia, serif); font-weight: 400; color: var(--cs-ink); letter-spacing: -.035em; text-wrap: balance; }
.capacity-snapshot h1 { font-size: clamp(2rem, 5.5vw, 3.9rem); line-height: 1.14; }
.capacity-snapshot h2 { font-size: clamp(1.55rem, 3.5vw, 2.25rem); line-height: 1.24; }
.capacity-snapshot h3 { font-size: 1.25rem; line-height: 1.35; }
.capacity-snapshot h1 em { color: var(--cs-violet); font-weight: 400; }
.capacity-snapshot p, .capacity-snapshot li, .capacity-snapshot dd { font-size: 1rem; line-height: 1.65; color: var(--cs-text); text-wrap: pretty; }
.capacity-snapshot :where(h1,h2,h3,h4,legend,p,li,dd,a,button,label,summary) { overflow-wrap: anywhere; }
.capacity-snapshot p + p { margin-top: .875rem; }
.capacity-snapshot a { color: var(--cs-violet); }
.capacity-snapshot .brand-name { color: var(--cs-violet); }
.capacity-snapshot :where(button,input,select,textarea) { font: inherit; }
.capacity-snapshot :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--cs-violet); outline-offset: 4px; }
.capacity-snapshot :where(button,summary) { touch-action: manipulation; }
.capacity-snapshot :where(button,input,select,textarea) { max-width: 100%; }
.capacity-snapshot .cs-eyebrow { font:600 .75rem/1.6 var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif); letter-spacing: .07em; color: var(--cs-text); }
.capacity-snapshot .cs-note, .capacity-snapshot .cs-private-note { font-size: .875rem; line-height: 1.6; color: var(--cs-text); }
.capacity-snapshot .cs-note { margin-top: .75rem; }
.capacity-snapshot .cs-lead { font-size: 1.0625rem; line-height: 1.65; max-width: 64ch; }
.capacity-snapshot .cs-heading { margin-bottom: 1.5rem; }
.capacity-snapshot .cs-heading > * + * { margin-top: .75rem; }
.capacity-snapshot .cs-error { border-left: 3px solid var(--cs-ink); padding: .75rem 1rem; margin-block: 1rem; color: var(--cs-ink); background: #f0f0f0; font-weight:600; }
.capacity-snapshot .cs-intro { display: block; }
.capacity-snapshot .cs-intro-copy { min-width: 0; max-width: 860px; }
.capacity-snapshot .cs-intro-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 760px; }
.capacity-snapshot .cs-intro-topline .cs-eyebrow { flex: 1 1 auto; min-width: 0; }
.capacity-snapshot .cs-static-accent { flex: 0 1 104px; width: min(104px, 32%); min-width: 64px; opacity: .76; }
.capacity-snapshot .cs-intro h1 { margin-top: 1.1rem; max-width: 19ch; }
.capacity-snapshot .cs-descriptor { margin-top: 1.4rem; font-size: .875rem; font-weight:600; line-height: 1.6; color: var(--cs-ink); max-width: 48ch; }
.capacity-snapshot .cs-intro-definition { margin-top: 1.2rem; color: var(--cs-ink); font-size: 1.0625rem; }
.capacity-snapshot .cs-intro-body { max-width: 59ch; }
.capacity-snapshot .cs-duration { margin-top: 1.5rem; font-size: .8125rem; line-height: 1.8; color: var(--cs-text); }
.capacity-snapshot .cs-duration span { padding-inline: .1rem; }
.capacity-snapshot .cs-private-note { margin-top: 1rem; max-width: 53ch; }
.capacity-snapshot .cs-trust { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: 0; list-style: none; margin-top: 1.15rem !important; }
.capacity-snapshot .cs-trust li { margin: 0; font-size: .75rem; line-height: 1.6; }
.capacity-snapshot .cs-trust li + li::before { content: '·'; margin-right: 1rem; color: #8b8b8b; }
.capacity-snapshot .cs-tesseract { width: 100%; height: auto; display: block; overflow: visible; }
.capacity-snapshot .cs-tesseract-edge { stroke: #7d7d7d; stroke-width: 1; fill: none; vector-effect: non-scaling-stroke; }
.capacity-snapshot .cs-tesseract-edge-axis { stroke: #7046b5; stroke-width: 1.25; }
.capacity-snapshot .cs-tesseract-vertex { fill: #ffffff; stroke: #575757; stroke-width: .85; vector-effect: non-scaling-stroke; }
.capacity-snapshot .cs-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.capacity-snapshot :is(.cs-button,.cs-button-secondary,.cs-button-text) { appearance: none; display: inline-flex; justify-content: center; align-items: center; gap: 1rem; padding: .9rem 1.1rem; min-height: 48px; max-width: 100%; border: 1px solid var(--cs-violet); border-radius: 5px; background: var(--cs-violet); color: #ffffff; font:600 .9375rem/1.5 var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif); text-align: center; text-decoration: none; cursor: pointer; }
.capacity-snapshot .cs-button > span[aria-hidden] { flex-shrink: 0; font-size: 1.2em; }
.capacity-snapshot .cs-button:hover { background: #5d389a; border-color: #5d389a; }
.capacity-snapshot .cs-button-secondary { color: var(--cs-violet); background: #ffffff; border-color: #adadad; }
/* Keep a branded phrase in one inline text flow instead of three flex items. */
.capacity-snapshot a.cs-button-secondary:has(> .brand-name) { display: inline-block; gap: 0; }
.capacity-snapshot .cs-button-secondary:hover { color: var(--cs-violet); background: #f2f2f2; border-color: var(--cs-violet); }
.capacity-snapshot .cs-button-text { color: var(--cs-violet); background: transparent; border: 0; padding-inline: .25rem; text-decoration: underline; text-underline-offset: 4px; }
.capacity-snapshot .cs-button-text:hover { color: var(--cs-violet); background: transparent; }
.capacity-snapshot .cs-button:disabled { color: #626262; background: #eeeeee; border-color: #d5d5d5; cursor: default; opacity: 1; }
.capacity-snapshot .cs-inline-link { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; font-size: .875rem; line-height: 1.6; text-decoration: underline; text-underline-offset: 4px; }
.capacity-snapshot .cs-app { scroll-margin-top: 110px; }
.capacity-snapshot .cs-view { max-width: 760px; margin-inline: auto; }
.capacity-snapshot .cs-view.cs-results { max-width: 100%; }
.capacity-snapshot .cs-perspectives { display: grid; gap: .875rem; margin-top: 1.5rem; }
.capacity-snapshot .cs-perspective { display: grid; gap: .65rem; appearance: none; min-height: 100px; padding: 1.2rem; border: 1px solid var(--cs-rule); border-radius: 7px; text-align: left; color: var(--cs-ink); background: #ffffff; }
.capacity-snapshot .cs-perspective :where(strong,h3) { font-family: var(--serif, 'Noto Serif', Georgia, serif); font-size: 1.375rem; font-weight: 400; color: var(--cs-violet); }
.capacity-snapshot .cs-perspective :where(p,span) { font-size: .9375rem; line-height: 1.6; color: var(--cs-text); }
.capacity-snapshot .cs-perspective:hover { background: var(--cs-surface); border-color: var(--cs-violet); }
.capacity-snapshot .cs-progress { margin-bottom: 1.4rem; }
.capacity-snapshot .cs-progress-label { font-size: .8125rem; font-weight:600; color: var(--cs-text); margin-bottom: .7rem; line-height: 1.5; }
.capacity-snapshot .cs-progress progress { appearance: none; display: block; width: 100%; height: 4px; border: 0; border-radius: 2px; overflow: hidden; color: var(--cs-violet); background: #e5e5e5; }
.capacity-snapshot .cs-progress progress::-webkit-progress-bar { background: #e5e5e5; }
.capacity-snapshot .cs-progress progress::-webkit-progress-value { background: var(--cs-violet); }
.capacity-snapshot .cs-progress progress::-moz-progress-bar { background: var(--cs-violet); }
.capacity-snapshot .cs-question-form, .capacity-snapshot .cs-question { min-width: 0; }
.capacity-snapshot .cs-question { padding: 0; border: 0; width: 100%; }
.capacity-snapshot .cs-statement { display: block; padding: 0; width: 100%; max-width: 100%; font: 400 clamp(1.25rem, 3.4vw, 1.85rem)/1.4 var(--serif, 'Noto Serif', Georgia, serif); letter-spacing: -.022em; color: var(--cs-ink); }
.capacity-snapshot .cs-prompt { margin-block: 1rem .65rem; font-size: .875rem; color: var(--cs-text); }
.capacity-snapshot .cs-responses { display: grid; gap: .45rem; }
.capacity-snapshot .cs-response { display: flex; align-items: center; gap: .8rem; padding: .65rem .875rem; min-height: 48px; margin: 0; border: 1px solid var(--cs-rule); border-radius: 5px; background: #ffffff; color: var(--cs-ink); font-size: 1rem; line-height: 1.45; cursor: pointer; }
.capacity-snapshot .cs-response input[type=radio] { appearance: auto; flex: 0 0 auto; accent-color: var(--cs-violet); width: 19px; height: 19px; margin: 0; }
.capacity-snapshot .cs-response:has(input:checked) { border-color: var(--cs-violet); box-shadow: inset 0 0 0 1px var(--cs-violet); background: #f7f7f7; }
.capacity-snapshot .cs-response:has(input:focus-visible) { outline: 3px solid var(--cs-violet); outline-offset: 3px; }
.capacity-snapshot .cs-response:hover { border-color: #8d8d8d; background: #fafafa; }
.capacity-snapshot .cs-response-label { min-width: 0; }
.capacity-snapshot .cs-response-unsure { margin-top: .2rem; border-style: dashed; color: var(--cs-text); }
.capacity-snapshot .cs-response-label > span { display: block; }
.capacity-snapshot .cs-question-form .cs-actions { justify-content: space-between; margin-top: 1rem; }
.capacity-snapshot .cs-back, .capacity-snapshot .cs-continue { min-width: 6rem; }
.capacity-snapshot .cs-result-heading { max-width: 780px; margin-bottom: 1.5rem; }
.capacity-snapshot .cs-result-heading > * + * { margin-top: .7rem; }
.capacity-snapshot .cs-summary { margin-block: 1.4rem; max-width: 72ch; }
.capacity-snapshot .cs-summary > strong, .capacity-snapshot .cs-summary p > strong { display: block; color: var(--cs-ink); font-size: 1.125rem; line-height: 1.55; }
.capacity-snapshot .cs-capacity { padding: 1.5rem 1.1rem; border-block: 1px solid var(--cs-rule); background: var(--cs-surface); text-align: center; margin-block: 1.75rem 1rem; }
.capacity-snapshot .cs-capacity > * { max-width: 65ch; margin-inline: auto; }
.capacity-snapshot .cs-capacity > * + * { margin-top: .5rem; }
.capacity-snapshot .cs-capacity :is(h2,h3) { color: var(--cs-violet); font-size: 1.85rem; }
.capacity-snapshot .cs-capacity .cs-signal { font-family: var(--serif, 'Noto Serif', Georgia, serif); font-size: 1.125rem; font-weight: 400; color: var(--cs-ink); line-height: 1.5; }
.capacity-snapshot .cs-profile { display: grid; gap: .75rem; }
.capacity-snapshot .cs-dimension { min-width: 0; padding: 1.25rem; border: 1px solid var(--cs-rule); background: #ffffff; border-radius: 6px; }
.capacity-snapshot .cs-dimension h3 { font-family: var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif); font-size: .8125rem; letter-spacing: .015em; font-weight:600; color: var(--cs-violet); margin-bottom: .55rem; }
.capacity-snapshot .cs-question-text { font-family: var(--serif, 'Noto Serif', Georgia, serif); font-size: 1.25rem; line-height: 1.45; color: var(--cs-ink); }
.capacity-snapshot .cs-dimension .cs-signal { display: flex; align-items: flex-start; gap: .55rem; border-top: 1px solid #e5e5e5; padding-top: .8rem; margin-top: .85rem; font-size: .875rem; line-height: 1.5; font-weight:600; color: var(--cs-text); }
.capacity-snapshot .cs-dimension .cs-signal::before { content: ''; width: .4rem; height: .4rem; background: var(--cs-violet); border-radius: 50%; flex: 0 0 auto; margin-top: .45em; }
.capacity-snapshot .cs-section { margin-top: 2.5rem; }
.capacity-snapshot .cs-section > :where(p,div,ul,ol,details,form) { margin-top: 1rem; }
.capacity-snapshot .cs-section h2 + p { margin-top: .8rem; }
.capacity-snapshot .cs-starting { border-left: 3px solid var(--cs-violet); padding-left: 1.2rem; }
.capacity-snapshot .cs-starting h3 { margin-block: .9rem .45rem; }
.capacity-snapshot .cs-foundations { border-top: 1px solid var(--cs-rule); padding-top: 1.5rem; }
.capacity-snapshot .cs-dimension-list { display: grid; gap: 1rem; padding: 0; list-style: none; }
.capacity-snapshot .cs-dimension-list > li { margin: 0; }
.capacity-snapshot .cs-dimension-list h3 { margin-bottom: .35rem; }
.capacity-snapshot .cs-interpretation { max-width: 72ch; }
.capacity-snapshot .cs-interpretation h3 { margin-block: 1.1rem .4rem; }
.capacity-snapshot .cs-interpretation h4 { font:600 .8125rem/1.5 var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif); color: var(--cs-violet); margin-block: 1rem .3rem; }
.capacity-snapshot .cs-calculator { border: 1px solid var(--cs-rule); border-radius: 7px; padding: 1.35rem 1.1rem; margin-top: 2.5rem; background: #fafafa; }
.capacity-snapshot .cs-calculator > p, .capacity-snapshot .cs-calculator > form { margin-top: .8rem; }
.capacity-snapshot .cs-calculator form { max-width: 800px; }
.capacity-snapshot #cs-calculator-panel:not([hidden]) { margin-top: 1.5rem; }
.capacity-snapshot #cs-open-calculator { margin-top: 1rem; }
.capacity-snapshot .cs-fields { display: grid; gap: 1.5rem; }
.capacity-snapshot .cs-field { display: grid; gap: .6rem; min-width: 0; }
.capacity-snapshot .cs-field > label, .capacity-snapshot .cs-field > legend { font-weight:600; font-size: .9375rem; line-height: 1.6; color: var(--cs-ink); }
.capacity-snapshot .cs-calculator fieldset, .capacity-snapshot .cs-share fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.capacity-snapshot .cs-calculator legend { padding: 0; margin-bottom: .8rem; font-size: .9375rem; line-height: 1.6; font-weight:600; }
.capacity-snapshot :where(input[type=number],input[type=text],input[type=email],select,textarea) { min-width: 0; width: 100%; min-height: 48px; border: 1px solid #8b8b8b; border-radius: 4px; padding: .7rem .8rem; color: var(--cs-ink); background: #ffffff; font-size: 1rem; line-height: 1.5; }
.capacity-snapshot input[type=number] { max-width: 18rem; }
.capacity-snapshot .cs-weekly-options { display: grid; gap: .5rem; }
.capacity-snapshot .cs-weekly-options > label { min-height: 48px; display: flex; align-items: center; gap: .65rem; padding: .65rem .75rem; border: 1px solid var(--cs-rule); border-radius: 4px; font-size: .9375rem; line-height: 1.5; background: #ffffff; }
.capacity-snapshot .cs-weekly-options input, .capacity-snapshot .cs-checklist input { accent-color: var(--cs-violet); flex-shrink: 0; width: 18px; height: 18px; margin: 0; }
.capacity-snapshot .cs-weekly-options > label:has(input:checked) { border-color: var(--cs-violet); box-shadow: inset 0 0 0 1px var(--cs-violet); }
.capacity-snapshot .cs-assumptions { margin-top: 1.5rem; border-top: 1px solid var(--cs-rule); padding-top: .5rem; }
.capacity-snapshot summary { min-height: 44px; padding-block: .7rem; font-size: .875rem; line-height: 1.6; color: var(--cs-violet); cursor: pointer; }
.capacity-snapshot .cs-assumptions > :not(summary) { margin-top: .8rem; }
.capacity-snapshot .cs-estimate { padding: 1.2rem; margin-top: 1.5rem; background: #ffffff; border-block: 1px solid var(--cs-rule); }
.capacity-snapshot .cs-estimate :is(h3,h4), .capacity-snapshot .cs-estimate .cs-estimate-number { color: var(--cs-violet); font: 400 clamp(1.7rem, 5vw, 2.6rem)/1.25 var(--serif, 'Noto Serif', Georgia, serif); font-variant-numeric: tabular-nums; }
.capacity-snapshot .cs-estimate:empty, .capacity-snapshot .cs-share-preview:empty { display: none; }
.capacity-snapshot .cs-estimate > * + * { margin-top: .75rem; }
.capacity-snapshot .cs-estimate dl, .capacity-snapshot .cs-print dl { display: grid; gap: .65rem; }
.capacity-snapshot .cs-estimate dl > div { display: grid; gap: .25rem; padding-block: .5rem; border-bottom: 1px solid #e5e5e5; }
.capacity-snapshot .cs-estimate dt { font-size: .8125rem; line-height: 1.5; color: var(--cs-text); }
.capacity-snapshot .cs-estimate dd { font-size: 1.125rem; color: var(--cs-ink); }
.capacity-snapshot .cs-share { border-top: 1px solid var(--cs-rule); padding-top: 1.5rem; }
.capacity-snapshot .cs-checklist { display: grid; gap: .2rem; padding: 0; list-style: none; }
.capacity-snapshot .cs-checklist label { display: flex; align-items: flex-start; gap: .7rem; min-height: 44px; padding-block: .6rem; font-size: .9375rem; line-height: 1.6; }
.capacity-snapshot .cs-checklist input { margin-top: .2rem; }
.capacity-snapshot .cs-check { display: flex; align-items: flex-start; gap: .7rem; min-height: 44px; padding-block: .75rem; font-size: .9375rem; line-height: 1.6; }
.capacity-snapshot .cs-check input { accent-color: var(--cs-violet); flex-shrink: 0; width: 18px; height: 18px; margin-top: .25rem; }
.capacity-snapshot .cs-save > .cs-field { margin-top: 1rem; max-width: 38rem; }
.capacity-snapshot .cs-save .cs-field > span, .capacity-snapshot .cs-fields .cs-field > span:first-child { font-size: .9375rem; line-height: 1.6; font-weight:600; }
.capacity-snapshot .cs-save .cs-field .cs-note { font-weight: 400; }
.capacity-snapshot .cs-share-preview { padding: 1rem; background: var(--cs-surface); border: 1px solid var(--cs-rule); border-radius: 5px; margin-top: 1rem; }
.capacity-snapshot .cs-share-preview :where(p,li) { font-size: .875rem; line-height: 1.6; }
.capacity-snapshot .cs-share-preview pre { white-space: pre-wrap; overflow-wrap: anywhere; font: .875rem/1.6 var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif); }
.capacity-snapshot .cs-research { position: relative; isolation: isolate; border-top: 1px solid var(--cs-rule); margin-top: 3.5rem; padding-top: 2rem; }
.capacity-snapshot .cs-flower { position: absolute; z-index: -1; pointer-events: none; width: min(190px,42%); height: auto; top: -2rem; right: 0; opacity: .09; }
.capacity-snapshot .cs-research-heading { max-width: 67ch; }
.capacity-snapshot .cs-research-heading h2 { margin-top: .6rem; }
.capacity-snapshot .cs-research-heading > p:last-child { margin-top: .9rem; }
.capacity-snapshot .cs-research-details { margin-top: 1.25rem; border-block: 1px solid var(--cs-rule); }
.capacity-snapshot .cs-research-details > summary { font-size: 1rem; padding-block: 1rem; }
.capacity-snapshot .cs-research-details[open] { padding-bottom: 1rem; }
.capacity-snapshot .cs-sources { list-style: none; padding: 0; margin-top: 1.75rem !important; display: grid; gap: 1.5rem; }
.capacity-snapshot .cs-sources > li { display: grid; grid-template-columns: 1.8rem minmax(0,1fr); gap: .65rem; margin: 0; }
.capacity-snapshot .cs-source-number { font: 400 .875rem/1.6 var(--serif, 'Noto Serif', Georgia, serif); color: #737373; border-top: 1px solid #adadad; padding-top: .15rem; }
.capacity-snapshot .cs-sources h3 { font-size: 1.05rem; letter-spacing: -.02em; }
.capacity-snapshot .cs-sources h3 + p { margin-top: .45rem; font-size: .875rem; line-height: 1.65; }
.capacity-snapshot .cs-reference { font-size: .8125rem; line-height: 1.65; color: var(--cs-text); padding-bottom: .5rem; }
.capacity-snapshot .cs-doi { display: block; margin-top: .3rem; }
.capacity-snapshot .cs-research-limit { font-size: .8125rem; line-height: 1.65; max-width: 83ch; margin-block: 1.5rem .4rem; }
.capacity-snapshot .cs-no-script { margin-top: 2rem; border: 1px solid var(--cs-rule); padding: 1.25rem; }
.capacity-snapshot .cs-no-script > p { margin-top: 1rem; }
.capacity-snapshot .cs-no-script dl { display: grid; gap: 1rem; margin-block: 1.5rem; }
.capacity-snapshot .cs-no-script dt { font-weight:600; font-size: .875rem; color: var(--cs-violet); }
.capacity-snapshot .cs-no-script dd { margin-top: .25rem; }
.capacity-snapshot .cs-print { display: none; }
@media (min-width: 42rem) {
  .capacity-snapshot { width: min(1120px, calc(100% - 64px)); padding-top: 48px; }
  .capacity-snapshot .cs-profile, .capacity-snapshot .cs-weekly-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .capacity-snapshot .cs-perspectives { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .capacity-snapshot .cs-perspective { padding: 1.4rem; align-content: start; }
  .capacity-snapshot .cs-capacity { padding-block: 2rem; }
  .capacity-snapshot .cs-calculator { padding: 1.75rem; }
  .capacity-snapshot .cs-estimate dl > div { grid-template-columns: 1fr 1.2fr; gap: 1rem; align-items: baseline; }
  .capacity-snapshot .cs-research { padding-top: 2.5rem; }
}
@media (min-width: 60rem) {
  .capacity-snapshot { padding-block: 64px 88px; }
  .capacity-snapshot .cs-intro h1 { max-width: 19ch; }
  .capacity-snapshot .cs-static-accent { flex-basis: 156px; width: 156px; }
  .capacity-snapshot .cs-profile { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .capacity-snapshot .cs-dimension { padding: 1.4rem; }
  .capacity-snapshot .cs-sources { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.75rem; }
  .capacity-snapshot .cs-research { margin-top: 4.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .capacity-snapshot *, .capacity-snapshot *::before, .capacity-snapshot *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
/* Branded real-text export. Native pagination may add space for unusually long
   labels or user print settings; no report content is clipped to force a fit. */
@media print {
  @page { size: A4 portrait; margin: 11mm 12mm; }
  body.snapshot-page > :not(main) { display: none !important; }
  body.snapshot-page main > :not(.capacity-snapshot) { display: none !important; }
  body:has(.capacity-snapshot) { background: #ffffff !important; }
  body:has(.capacity-snapshot) > :not(main) { display: none !important; }
  body:has(.capacity-snapshot) main > :not(.capacity-snapshot) { display: none !important; }
  .capacity-snapshot { width: 100%; margin: 0; padding: 0; font-size: 9pt; color: #252525; }
  .capacity-snapshot > :not(#snapshot-print) { display: none !important; }
  .capacity-snapshot #snapshot-print { display: block !important; }
  .capacity-snapshot .cs-print, .capacity-snapshot .cs-print * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .capacity-snapshot .cs-print-page { break-inside: auto; padding: 0; margin: 0; }
  .capacity-snapshot .cs-print-calculator { break-before: page; page-break-before: always; padding-top: 0; }
  .capacity-snapshot .cs-print :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,header,section,article,footer) { margin: 0; }
  .capacity-snapshot .cs-print :where(h1,h2,h3,h4) { break-after: avoid; }
  .capacity-snapshot .cs-print h1 { font-size: 23pt; line-height: 1.12; letter-spacing: -.025em; color: #7046b5; }
  .capacity-snapshot .cs-print h2 { font-size: 11.5pt; line-height: 1.25; margin-top: 3mm; margin-bottom: 1.5mm; color: #5e4b74; }
  .capacity-snapshot .cs-print h3 { font-size: 10pt; line-height: 1.3; color: #5e4b74; }
  .capacity-snapshot .cs-print p, .capacity-snapshot .cs-print li, .capacity-snapshot .cs-print dd { font-size: 9pt; line-height: 1.4; color: #404040; orphans: 2; widows: 2; }
  .capacity-snapshot .cs-print p + p { margin-top: 1.5mm; }
  .capacity-snapshot .cs-print :where(.cs-note,.cs-private-note,.cs-eyebrow,.cs-print-meta,.cs-reference) { font-size: 8pt; line-height: 1.4; }
  .capacity-snapshot .cs-print .cs-print-header { display: grid; grid-template-columns: 35mm minmax(0,1fr); align-items: start; column-gap: 6mm; padding-bottom: 3.5mm; border-bottom: 1.5pt solid #7046b5; margin-bottom: 3.5mm; break-inside: avoid; }
  .capacity-snapshot .cs-print .cs-print-brand, .capacity-snapshot .cs-print .cs-print-header > img { width: 35mm; height: auto; margin: 1mm 0 0; }
  .capacity-snapshot .cs-print .cs-print-heading { min-width: 0; }
  .capacity-snapshot .cs-print .cs-print-kicker { margin: 0 0 1.3mm; color: #575757; font:600 7.5pt/1.4 var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif); letter-spacing: .05em; }
  .capacity-snapshot .cs-print .cs-print-meta { display: flex; flex-wrap: wrap; gap: .8mm 3mm; margin-top: 2mm; color: #575757; font-size: 8.5pt; line-height: 1.4; }
  .capacity-snapshot .cs-print .cs-print-label { flex-basis: 100%; }
  .capacity-snapshot .cs-print-overview { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 5mm; align-items: stretch; margin-block: 3mm; }
  .capacity-snapshot .cs-print :is(.cs-summary,.cs-print-summary) { margin-block: 3mm; max-width: none; }
  .capacity-snapshot .cs-print :is(.cs-summary,.cs-print-summary) h2 { margin: 0 0 1.5mm; font-size: 11.5pt; line-height: 1.3; color: #5e4b74; }
  .capacity-snapshot .cs-print .cs-summary strong { font-size: 10pt; line-height: 1.4; color: #252525; }
  .capacity-snapshot .cs-print :is(.cs-capacity,.cs-print-capacity) { padding: 3mm 4mm; margin-block: 3mm; border: .6pt solid #765F8A; border-left: 2pt solid #7046b5; background: #eae5f1; text-align: left; break-inside: avoid; }
  .capacity-snapshot .cs-print :is(.cs-capacity,.cs-print-capacity) h2 { margin: 0 0 1mm; font-size: 12.5pt; color: #7046b5; }
  .capacity-snapshot .cs-print :is(.cs-capacity,.cs-print-capacity) > * { max-width: none; margin-inline: 0; }
  .capacity-snapshot .cs-print :is(.cs-capacity,.cs-print-capacity) p { font-size: 9.5pt; line-height: 1.4; color: #252525; }
  .capacity-snapshot .cs-print .cs-capacity .cs-signal { font-size: 9.5pt; line-height: 1.4; color: #252525; }
  .capacity-snapshot .cs-print-overview > :is(.cs-print-summary,.cs-print-capacity) { margin: 0; min-width: 0; }
  .capacity-snapshot .cs-print .cs-print-capacity .cs-print-kicker { font-size: 7.5pt; line-height: 1.4; color: #5e4b74; }
  .capacity-snapshot .cs-print .cs-print-capacity-signal { margin-top: 1.5mm; }
  .capacity-snapshot .cs-print .cs-profile { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5mm; margin-block: 3mm; }
  .capacity-snapshot .cs-print .cs-dimension { padding: 3mm; border: 1px solid #bfbfbf; border-radius: 0; break-inside: avoid; }
  .capacity-snapshot .cs-print .cs-dimension h3 { font:600 8pt/1.3 var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif); margin-bottom: 1mm; }
  .capacity-snapshot .cs-print .cs-question-text { font-size: 10pt; line-height: 1.35; }
  .capacity-snapshot .cs-print .cs-dimension .cs-signal { font-size: 8pt; line-height: 1.35; padding-top: 1.5mm; margin-top: 1.5mm; gap: 1.5mm; }
  .capacity-snapshot .cs-print .cs-dimension .cs-signal::before { width: 1.1mm; height: 1.1mm; }
  .capacity-snapshot .cs-print-profile { width: 100%; table-layout: fixed; border-collapse: collapse; margin-block: 3mm; }
  .capacity-snapshot .cs-print-profile :where(th,td) { padding: 2mm; text-align: left; vertical-align: top; border-bottom: .6pt solid #d5d5d5; font: 400 8.5pt/1.4 var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif); overflow-wrap: anywhere; color: #404040; }
  .capacity-snapshot .cs-print-profile th { font-weight:600; }
  .capacity-snapshot .cs-print-profile thead { display: table-header-group; background: #eae5f1; }
  .capacity-snapshot .cs-print-profile thead th { color: #5e4b74 !important; border-top: .6pt solid #765F8A; border-bottom: .6pt solid #765F8A; }
  .capacity-snapshot .cs-print-profile tbody tr:nth-child(even) { background: #f7f7f7; }
  .capacity-snapshot .cs-print-profile th:first-child, .capacity-snapshot .cs-print-profile td:first-child { width: 21%; color: #7046b5; }
  .capacity-snapshot .cs-print-profile th:nth-child(2), .capacity-snapshot .cs-print-profile td:nth-child(2) { width: 41%; }
  .capacity-snapshot .cs-print-profile th:nth-child(3), .capacity-snapshot .cs-print-profile td:nth-child(3) { width: 38%; }
  .capacity-snapshot .cs-print-profile tr { break-inside: avoid; }
  .capacity-snapshot .cs-print-signal { font-weight:600; color: #404040; }
  .capacity-snapshot .cs-print .cs-print-eligibility, .capacity-snapshot .cs-print .cs-print-finding-note { font-size: 8pt; line-height: 1.4; color: #575757; }
  .capacity-snapshot .cs-print-findings { margin-top: 3mm; }
  .capacity-snapshot .cs-print-findings > * + * { margin-top: 2mm; }
  .capacity-snapshot .cs-print-columns { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 5mm; }
  .capacity-snapshot .cs-print-columns > section { min-width: 0; margin: 0; }
  .capacity-snapshot .cs-print-columns > section > h2 { margin-top: 0; }
  .capacity-snapshot .cs-print-columns > section + section { border-left: .6pt solid #d5d5d5; padding-left: 4mm; }
  .capacity-snapshot .cs-print .cs-print-qualification { padding-top: 2mm; border-top: .6pt solid #d5d5d5; margin-top: 3mm; font-size: 8pt; line-height: 1.4; color: #575757; }
  .capacity-snapshot .cs-print .cs-print-references { padding: 2.5mm 0 0; border-top: .6pt solid #765F8A; margin: 3mm 0 0; }
  .capacity-snapshot .cs-print-references ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 5mm; row-gap: 2mm; list-style: none; padding: 0; margin-block: 2mm; }
  .capacity-snapshot .cs-print .cs-print-references li { margin: 0; font-size: 8pt; line-height: 1.35; break-inside: avoid; }
  .capacity-snapshot .cs-print .cs-print-references li strong { color: #5e4b74; font-weight:600; }
  .capacity-snapshot .cs-print .cs-print-references p { font-size: 8pt; line-height: 1.35; }
  .capacity-snapshot .cs-print .cs-section { margin-top: 3mm; }
  .capacity-snapshot .cs-print .cs-starting { padding-left: 3mm; border-left-width: 2px; }
  .capacity-snapshot .cs-print .cs-starting h3 { margin-block: 1.5mm 1mm; }
  .capacity-snapshot .cs-print .cs-foundations { padding-top: 2mm; }
  .capacity-snapshot .cs-print .cs-dimension-list { gap: 2mm; }
  .capacity-snapshot .cs-print .cs-interpretation h3 { margin-block: 1.5mm 1mm; }
  .capacity-snapshot .cs-print .cs-estimate { margin: 4mm 0; padding: 5mm; border: .6pt solid #765F8A; border-left: 2pt solid #7046b5; background: #eae5f1; }
  .capacity-snapshot .cs-print .cs-estimate :is(h3,h4), .capacity-snapshot .cs-print .cs-estimate-number { font-size: 23pt; line-height: 1.2; color: #7046b5; }
  .capacity-snapshot .cs-print .cs-estimate > * + * { margin-top: 2.5mm; }
  .capacity-snapshot .cs-print .cs-estimate p { color: #252525; }
  .capacity-snapshot .cs-print-calculator > h2:first-child { font-size: 23pt; line-height: 1.15; margin-bottom: 3mm; }
  .capacity-snapshot .cs-print-calculator > h4 { font: 400 22pt/1.2 var(--serif, 'Noto Serif', Georgia, serif); color: #7046b5; margin-block: 4mm 1.5mm; }
  .capacity-snapshot .cs-print-calculator > p { margin-top: 2mm; }
  .capacity-snapshot .cs-print .cs-assumptions { margin-block: 4mm; padding-block: 3mm; border-block: 1px solid #d5d5d5; }
  .capacity-snapshot .cs-print-profile caption { font:600 9pt/1.4 var(--sans, 'Inter', Arial, 'Noto Sans', sans-serif); text-align: left; margin-bottom: 1.5mm; color: #5e4b74; }
  .capacity-snapshot .cs-print dl { gap: 2mm; }
  .capacity-snapshot .cs-print dl > div { display: grid; grid-template-columns: 1fr 1.4fr; gap: 4mm; }
  .capacity-snapshot .cs-print dt { font-size: 9pt; line-height: 1.4; font-weight:600; }
  .capacity-snapshot .cs-print .cs-sources { display: grid; grid-template-columns: 1fr; gap: 2.5mm; padding: 0; margin-top: 2mm !important; }
  .capacity-snapshot .cs-print .cs-sources > li { display: block; padding-left: 0; }
  .capacity-snapshot .cs-print .cs-sources h3 { font-size: 9pt; }
  .capacity-snapshot .cs-print footer { border-top: .6pt solid #765F8A; padding-top: 2.5mm; margin-top: 4mm; }
  .capacity-snapshot .cs-print .cs-print-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1.5mm 4mm; }
  .capacity-snapshot .cs-print .cs-print-footer p { margin: 0; font-size: 8pt; line-height: 1.4; }
  .capacity-snapshot .cs-print a { color: #7046b5 !important; text-decoration: none; }
  .capacity-snapshot .cs-print a::after { content: none !important; }
  .capacity-snapshot .cs-print :where(button,input,select,textarea) { display: none !important; }
  /* The export root owns its palette independently of screen styles.
     Printer color mode and background preferences remain user-controlled. */
  .capacity-snapshot #snapshot-print { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .capacity-snapshot #snapshot-print :is(h2,h3,caption),
  .capacity-snapshot #snapshot-print .cs-print-references strong { color: #5e4b74; }
  .capacity-snapshot #snapshot-print h1,
  .capacity-snapshot #snapshot-print .cs-print-capacity h2,
  .capacity-snapshot #snapshot-print .cs-estimate :is(h3,h4),
  .capacity-snapshot #snapshot-print .cs-estimate-number,
  .capacity-snapshot #snapshot-print .cs-print-profile tbody th[scope="row"] { color: #7046b5; }
  .capacity-snapshot #snapshot-print :is(.cs-print-capacity,.cs-print-estimate),
  .capacity-snapshot #snapshot-print .cs-print-profile thead th { background-color: #eae5f1; }
  .capacity-snapshot #snapshot-print .cs-print-header { border-bottom-color: #7046b5; }
}
