/* One About desktop view: controls, explanation, then the existing diagram. */
html body.page-about .about-philosophy .research-cycle{max-width:none;margin:36px 0;padding:0;background:transparent;scroll-margin-top:128px;color:var(--theme-ink);--research-rule:var(--theme-line)}
html body.page-about .research-cycle .research-cycle__header{display:block;padding:0;margin:0 0 20px}
html body.page-about .research-cycle #research-cycle-title{font:400 clamp(30px,3.2vw,44px)/1.1 var(--font-display);letter-spacing:-.03em;margin:8px 0 12px;max-width:none}
html body.page-about .research-cycle .research-cycle__intro{font:300 14px/1.55 var(--font-support);max-width:74ch;margin:0;color:var(--theme-muted,var(--theme-ink))}
html body.page-about .research-cycle .research-cycle__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;padding:0}
html body.page-about .research-cycle .research-cycle__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;margin:0;border:0;align-content:start;min-width:0}
html body.page-about .research-cycle .research-cycle__controls button{min-height:44px;font:400 12px/1.35 var(--font-support);padding:11px 13px;justify-content:flex-start;color:var(--theme-ink);border-color:var(--theme-line);background:transparent}
html body.page-about .research-cycle .research-cycle__controls button[aria-pressed=true]{color:var(--theme-base);background:var(--theme-ink);border-color:var(--theme-ink)}
html body.page-about .research-cycle .research-cycle__copy{display:block;padding:0;min-width:0}
html body.page-about .research-cycle .research-cycle__copy article{opacity:1;visibility:visible;pointer-events:auto;margin:0 0 26px;transition:none}
html body.page-about .research-cycle.is-enhanced .research-cycle__copy{display:grid}
html body.page-about .research-cycle.is-enhanced .research-cycle__copy article{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;margin:0;transition:opacity .45s ease,visibility .45s ease}
html body.page-about .research-cycle.is-enhanced .research-cycle__copy article.is-current{opacity:1;visibility:visible;pointer-events:auto}
html body.page-about .research-cycle .research-cycle__copy h3{font:400 clamp(24px,2.4vw,34px)/1.12 var(--font-display);letter-spacing:-.025em;max-width:none;margin:12px 0 18px;text-wrap:balance}
html body.page-about .research-cycle .research-cycle__body{min-width:0;min-height:0}
html body.page-about .research-cycle .research-cycle__body>p{font:300 15px/1.65 var(--font-support);margin:0 0 16px;max-width:56ch;color:var(--theme-ink);overflow-wrap:break-word;word-break:normal}
html body.page-about .research-cycle .research-cycle__body>p:last-child{margin-bottom:0}
html body.page-about .research-cycle .research-cycle__graphic{min-width:0;width:100%;max-width:660px;margin:0 auto;padding:0;background:transparent}
html body.page-about .research-cycle .research-cycle__graphic svg{display:block;width:100%;height:auto;overflow:visible;background:transparent}
html body.page-about .research-cycle .research-cycle__graphic figcaption{margin:8px 0 0;font:300 10px/1.5 var(--font-support);color:var(--theme-muted,var(--theme-ink))}
/* Labels have no white halo or rectangular backing, in either theme. */
html body.page-about .research-cycle :is(.research-label,.research-loss-label,.research-loop-label){stroke:none!important;stroke-width:0!important;paint-order:normal;font-family:var(--font-support);font-weight:400}
html body.page-about .research-cycle .research-label{fill:var(--theme-ink);font-size:17px}
html body.page-about .research-cycle .research-loss-label{fill:var(--theme-muted,var(--theme-ink));font-size:15px}
html body.page-about .research-cycle .research-loop-label{font-size:16px}
html body.page-about .research-cycle .research-node--badge>circle{stroke:none;stroke-width:0}
html body.page-about .research-cycle .research-node--badge>use{fill:none;stroke:#fff;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
html body.page-about .research-cycle .research-cycle__fallback-note{font:300 12px/1.5 var(--font-support);margin:12px 0}
@media(min-width:1000px) and (orientation:landscape){
 html body.page-about .research-cycle .research-cycle__layout{grid-template-columns:minmax(178px,.54fr) minmax(260px,1.12fr) minmax(0,1.34fr);gap:clamp(20px,2.2vw,34px);align-items:start}
 html body.page-about .research-cycle .research-cycle__controls{grid-template-columns:minmax(0,1fr);gap:10px;align-self:start;padding:0}
 html body.page-about .research-cycle .research-cycle__copy{align-self:start;padding:0}
 html body.page-about .research-cycle .research-cycle__copy h3{font-size:clamp(24px,2.2vw,32px)}
 html body.page-about .research-cycle .research-cycle__body>p{font-size:14px;line-height:1.6}
 html body.page-about .research-cycle .research-cycle__graphic{max-width:none}
 /* Only enhanced desktop readers share a height; fallback copy remains fully readable. */
 html body.page-about .research-cycle.is-enhanced .research-cycle__layout{height:clamp(420px,calc(100svh - 292px),540px);align-items:stretch}
 html body.page-about .research-cycle.is-enhanced .research-cycle__controls{height:100%;min-height:0;align-self:stretch;grid-template-rows:repeat(4,auto);align-content:start}
 html body.page-about .research-cycle .research-cycle__controls button{height:var(--control-pill-height,28px);min-height:var(--control-pill-height,28px);padding:0 13px;box-sizing:border-box;font-size:var(--navigation-control-font-size,11px);line-height:1.2;gap:8px}
 html body.page-about .research-cycle.is-enhanced .research-cycle__copy{height:100%;min-height:0;align-self:stretch;grid-template-rows:minmax(0,1fr)}
 html body.page-about .research-cycle.is-enhanced .research-cycle__copy article{height:100%;min-height:0;box-sizing:border-box;overflow-y:auto;overscroll-behavior-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:var(--theme-ink) transparent}
 html body.page-about .research-cycle.is-enhanced .research-cycle__copy article::-webkit-scrollbar{width:5px}
 html body.page-about .research-cycle.is-enhanced .research-cycle__copy article::-webkit-scrollbar-track{background:transparent;border-right:1px solid var(--theme-line)}
 html body.page-about .research-cycle.is-enhanced .research-cycle__copy article::-webkit-scrollbar-thumb{background:var(--theme-ink);border-radius:0}
 html body.page-about .research-cycle.is-enhanced .research-cycle__copy article:focus-visible{outline:1px solid var(--theme-ink);outline-offset:4px}
 html body.page-about .research-cycle.is-enhanced .research-cycle__graphic{height:100%;min-height:0;position:relative;align-self:stretch}
 html body.page-about .research-cycle.is-enhanced .research-cycle__graphic svg{height:100%;min-height:0;max-height:none;object-fit:contain}
 html body.page-about .research-cycle.is-enhanced .research-cycle__graphic figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 /* Native subgrid aligns the body band without measuring or duplicating copy.
    All four headings contribute to its first row, preventing stage-switch jumps.
    Unsupported subgrid retains the readable single-row layout above. */
 @supports(grid-template-rows:subgrid){
  html body.page-about .research-cycle.is-enhanced .research-cycle__layout{height:auto;grid-template-rows:auto minmax(0,clamp(260px,calc(100svh - 392px),440px));row-gap:0}
  html body.page-about .research-cycle.is-enhanced .research-cycle__controls{grid-column:1;grid-row:2;grid-template-rows:repeat(4,var(--control-pill-height,28px))}
  html body.page-about .research-cycle.is-enhanced .research-cycle__copy{grid-column:2;grid-row:1 / span 2;grid-template-rows:subgrid;row-gap:0}
  html body.page-about .research-cycle.is-enhanced .research-cycle__copy article{display:grid;grid-column:1;grid-row:1 / span 2;grid-template-rows:subgrid;row-gap:0;overflow:visible;padding:0}
  html body.page-about .research-cycle.is-enhanced .research-cycle__stage-heading{grid-row:1;min-width:0;display:flow-root}
  html body.page-about .research-cycle.is-enhanced .research-cycle__body{grid-row:2;height:100%;box-sizing:border-box;overflow-y:auto;overscroll-behavior-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:var(--theme-ink) transparent}
  html body.page-about .research-cycle.is-enhanced .research-cycle__graphic{grid-column:3;grid-row:2;padding:6px;box-sizing:border-box}
 }
 html body.page-about .research-cycle .research-cycle__body:focus-visible{outline:1px solid var(--theme-ink);outline-offset:4px}
 @media(pointer:coarse){
  html body.page-about .research-cycle .research-cycle__controls button{min-height:44px;height:44px}
  html body.page-about .research-cycle.is-enhanced .research-cycle__controls{grid-template-rows:repeat(4,44px)}
 }
}
@media(max-width:500px){
 html body.page-about .research-cycle .research-cycle__controls button{font-size:11px;padding:10px 11px;gap:7px}
 html body.page-about .research-cycle .research-label{font-size:24px}
 html body.page-about .research-cycle :is(.research-loop-label,.research-loss-label){font-size:22px}
}
@media(prefers-reduced-motion:reduce){html body.page-about .research-cycle.is-enhanced .research-cycle__copy article{transition:none}}
@media print{html body.page-about .research-cycle .research-cycle__layout,html body.page-about .research-cycle.is-enhanced .research-cycle__layout{display:block;height:auto}html body.page-about .research-cycle.is-enhanced :is(.research-cycle__controls,.research-cycle__copy,.research-cycle__graphic){display:block;height:auto}html body.page-about .research-cycle.is-enhanced .research-cycle__copy article{display:block;opacity:1;visibility:visible;pointer-events:auto;margin:20px 0;height:auto;overflow:visible;padding:0}html body.page-about .research-cycle.is-enhanced .research-cycle__body{height:auto;overflow:visible;padding:0}html body.page-about .research-cycle.is-enhanced .research-cycle__graphic svg{height:auto}html body.page-about .research-cycle.is-enhanced .research-cycle__graphic figcaption{position:static;width:auto;height:auto;margin:8px 0 0;overflow:visible;clip-path:none;white-space:normal}}
