/* Research owns its catalogue and reader; the page frame and interaction language are shared. */
html,body{min-width:0;overflow-x:clip}
.research-page{position:relative;padding-left:var(--page-pad);padding-right:var(--page-pad);padding-bottom:96px}
.research-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.research-hero .content-title{font-family:var(--font-serif)}
#research-search{flex:none}
.research-reader{display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(48px,6vw,104px);max-width:var(--content-page-width);margin:0 auto;align-items:start}
.research-reader-aside{position:sticky;top:var(--sticky-content-top);min-width:0}
.aside-label{font-size:var(--ui-control-size);font-weight:var(--ui-weight-semibold);color:var(--ink-muted);margin:0 0 18px;letter-spacing:.06em}
/* Wide editorial composition; whitespace separates stories without rules. */
.research-catalog{max-width:var(--content-page-width);margin:0 auto}
.research-filters{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 20px}
.research-filters nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;min-width:0}
.research-filters .ui-side-link{display:inline-flex;width:auto;min-height:40px;gap:10px;padding:8px 8px 8px 17px;white-space:nowrap;font-size:var(--ui-control-size);color:var(--ink-muted);--ui-halo-rgb:var(--neutral-rgb)}
.research-filters .ui-side-link:is(:focus-visible,:focus-visible,[aria-current]){background:transparent}
@media(hover:hover) and (pointer:fine){.research-filters .ui-side-link:is(:hover,:focus-visible,[aria-current]){background:transparent}}
.research-filters .ui-side-link[aria-current]{color:var(--ink);--ui-halo-rgb:var(--accent-rgb)}
.research-filters .ui-side-link[aria-current]::after{opacity:1;transform:translateY(0)}
.research-filters .ui-side-link[aria-current]::before{left:1px;box-shadow:0 0 12px rgba(var(--accent-rgb),var(--ui-marker-glow));}
.research-filters .ui-side-link>span:last-child{font-size:var(--ui-control-size);color:var(--ink-muted);font-variant-numeric:tabular-nums}
.research-topic{flex:none}
.research-topic .ui-select{max-width:100%}
.research-results{min-width:0;margin:32px 0 0}
.report-entry{position:relative;padding:0;--ui-halo-rgb:var(--neutral-rgb)}
.report-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;color:var(--ink-muted);font-size:var(--ui-control-size);font-variant-numeric:tabular-nums}
.report-meta span:first-child{color:var(--accent)}
.report-entry h3{max-width:30em;margin:14px 0 16px;font-family:var(--font-serif);font-size:var(--ui-heading-size);font-weight:var(--ui-weight-semibold);line-height:1.5;letter-spacing:-.015em;text-wrap:pretty;overflow-wrap:anywhere;color:var(--ink)}
.report-entry a:focus-visible{outline:1px solid var(--accent);outline-offset:5px}
.report-summary{max-width:48em;margin:0;color:var(--ink-soft);font-size:var(--ui-subsection-size);line-height:var(--ui-reading-leading);text-wrap:pretty}
.report-foot{margin-top:20px;color:var(--ink-muted);font-size:var(--ui-control-size);}
.report-foot>span{min-width:0;line-height:var(--ui-label-leading);}
.report-lead{padding:0;--ui-halo-rgb:var(--accent-rgb)}
.report-lead h3{max-width:25em;font-size:var(--ui-feature-size);line-height:1.5;margin:18px 0 22px;text-wrap:balance}
.report-lead .report-summary{max-width:43em;font-size:var(--ui-reading-size);line-height:var(--ui-reading-leading);}
.report-lead .report-foot{margin-top:26px}
.report-featured h3{color:var(--accent)}
.research-editorial-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(40px,5vw,88px);grid-auto-rows:1px;row-gap:0;align-items:start}
.research-editorial-slot{grid-column:span var(--report-span,4);min-width:0;padding-top:0}
/* Lead size follows importance; other entries share one heading size. */
.research-editorial-slot[data-scale="primary"] h3{font-size:var(--ui-feature-size)}
.research-editorial-slot[data-scale="standard"] h3{color:var(--ink)}
@media(max-width:900px){
 .research-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:0}
 .research-editorial-slot{grid-column:auto;padding-top:0}
}
@media(max-width:600px){
 .research-editorial-grid{grid-template-columns:minmax(0,1fr);row-gap:0}
 .research-editorial-slot{grid-column:1;padding-top:0}
}
.research-empty{padding:32px 0 64px;color:var(--ink-soft)}
.research-empty h2,.research-empty h3{font-size:var(--ui-section-size);font-weight:var(--ui-weight-medium);color:var(--ink)}
.research-empty p{font-size:var(--ui-body-size);line-height:var(--ui-body-leading);}
.research-error{color:var(--status-error);font-size:var(--ui-body-size);margin:0 0 28px;line-height:var(--ui-body-leading);}
/* Long-form reading: a quiet text measure, with room for figures and comparison tables. */
.research-reader{--research-prose-width:720px}
.reader-back{padding-left:0;margin-bottom:32px;color:var(--ink);white-space:nowrap}
.research-toc{display:grid;gap:4px;max-height:calc(100vh - 220px);overflow-y:auto;padding:6px 8px;margin:0 -8px}
.research-toc a{font-size:var(--ui-control-size);line-height:var(--ui-label-leading);color:var(--ink-muted);padding:7px 0;--ui-halo-rgb:var(--neutral-rgb);overflow-wrap:anywhere;transition:color var(--ui-hover-duration) var(--ui-hover-ease),--ui-text-emphasis var(--ui-hover-duration) var(--ui-hover-ease)}
.research-toc a[data-level='2'],.research-toc a[data-level='3']{padding-left:12px}
.research-toc a:focus-visible{color:var(--accent)}
@media(hover:hover) and (pointer:fine){.research-toc a:is(:hover,:focus-visible){color:var(--accent)}}
.research-reading-area{max-width:960px;min-width:0}
.report-heading{margin-bottom:56px}
.report-heading h2{max-width:22em;font-family:var(--font-serif);font-size:var(--ui-feature-size);font-weight:var(--ui-weight-semibold);font-style:normal;line-height:1.4;letter-spacing:-.025em;text-wrap:balance;margin:18px 0 28px;overflow-wrap:anywhere;outline:none}
.report-heading>p{max-width:var(--research-prose-width);font-family:var(--font-serif);font-size:var(--ui-section-size);line-height:var(--ui-label-leading);color:var(--ink-soft);margin:0 0 24px;text-wrap:pretty}
.lark-source{padding-left:0;font-size:var(--ui-control-size)}
.research-document{font-family:var(--font-serif);font-size:var(--ui-reading-size);font-weight:var(--ui-serif-regular);line-height:var(--ui-reading-leading);color:var(--ink-soft);overflow-wrap:break-word}
.research-document>:not(figure):not(.research-table-scroll):not(hr){max-width:var(--research-prose-width)}
.research-document p{margin:0 0 1.25em}
.research-document p:empty{display:none}
.research-document :is(h3,h4,h5,h6){color:var(--ink);font-style:normal;text-wrap:balance;scroll-margin-top:calc(var(--sticky-content-top) + 24px)}
.research-document h3{font-family:var(--font-serif);font-size:var(--ui-heading-size);font-weight:var(--ui-weight-semibold);line-height:1.5;margin:64px 0 24px}
.research-document h4{font-family:var(--font-sans);font-size:var(--ui-section-size);font-weight:var(--ui-weight-semibold);line-height:var(--ui-label-leading);margin:44px 0 20px}
.research-document h5,.research-document h6{font-family:var(--font-sans);font-size:var(--ui-reading-size);font-weight:var(--ui-weight-semibold);line-height:1.65;margin:32px 0 16px}
.research-document>:first-child{margin-top:0}
.research-document strong{font-weight:var(--ui-weight-semibold);color:var(--ink)}
.research-document a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-skip-ink:auto;overflow-wrap:anywhere}
.research-document :is(a,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.research-document :is(ul,ol){padding-left:1.25em;margin:20px 0 28px}
.research-document li{padding-left:.2em;margin:14px 0}
.research-document li::marker{color:var(--ink-muted);font-family:var(--font-sans);font-size:var(--ui-body-size)}
.research-document li>strong:first-child{font-family:var(--font-sans);font-size:var(--ui-reading-size);font-weight:var(--ui-weight-semibold);line-height:1.7}
.research-document li>p{margin-top:10px;margin-bottom:18px}
.research-document li>:is(ul,ol){margin-top:16px;margin-bottom:24px}
.research-document figure{margin:40px 0}
.research-document img{display:block;max-width:100%;height:auto;border-radius:0}
.research-document figcaption{font-family:var(--font-sans);font-size:var(--ui-control-size);line-height:var(--ui-label-leading);color:var(--ink-muted);margin-top:12px}
.research-document blockquote{box-sizing:border-box;margin:28px 0 36px;padding:0 0 0 20px;border-left:1px solid var(--field-border);font-family:var(--font-sans);font-size:var(--ui-control-size);line-height:var(--ui-label-leading);color:var(--ink-muted)}
.research-document blockquote>:last-child{margin-bottom:0}
.research-document .research-callout{box-sizing:border-box;display:flex;gap:16px;padding:4px 0 4px 22px;border-left:2px solid var(--accent);background:transparent;border-radius:0;margin:28px 0 36px}
.research-callout-icon{flex:none;font-family:var(--font-sans);font-size:var(--ui-control-size);line-height:2.4}
.research-callout-content{min-width:0}
.research-callout-content>:first-child{margin-top:0}
.research-callout-content>:last-child{margin-bottom:0}
.research-table-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;margin:32px 0 40px}
.research-document table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:var(--ui-body-size);line-height:var(--ui-body-leading);font-variant-numeric:tabular-nums}
.research-document th,.research-document td{padding:14px 16px;text-align:left;vertical-align:top;min-width:100px;border-bottom:1px solid var(--field-border)}
.research-document th{color:var(--ink);font-weight:var(--ui-weight-semibold);background:transparent;border-top:1px solid var(--ink-muted)}
.research-document :is(th,td):first-child{padding-left:0}
.research-document :is(th,td):last-child{padding-right:0}
.research-document td p,.research-document th p{margin:0}
.research-document pre{overflow:auto;padding:20px;background:var(--field-surface);font-size:var(--ui-body-size);line-height:var(--ui-body-leading);}
.research-document hr{border:0;border-top:1px solid var(--field-border);max-width:var(--research-prose-width);margin:44px 0}
.research-reading-area>.research-pane>.reader-back{margin-top:48px}
.reading-placeholder{padding-top:24px;min-height:480px}
.reading-placeholder>div{height:16px;background:var(--field-surface);margin:0 0 24px;max-width:90%;border-radius:3px}
.reading-placeholder>div:first-of-type{height:44px;max-width:70%;margin-bottom:40px}
.reading-placeholder>div:last-child{max-width:65%}
@media(max-width:1100px){.research-reader{grid-template-columns:150px minmax(0,1fr);row-gap:0}}
@media(max-width:900px){.research-reader{grid-template-columns:minmax(0,1fr);gap:24px}.research-reader-aside{position:static}.toc-disclosure{margin-top:16px}.research-toc{max-height:240px}.toc-toggle{min-height:32px}.research-reader-aside .reader-back{margin-bottom:0}.reader-back{margin-bottom:0}.research-hero{gap:32px}.research-filters{flex-wrap:wrap;gap:12px}.research-filters nav{gap:8px 20px}.research-results{margin-top:32px}}
@media(max-width:600px){.research-hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:24px;margin-bottom:32px}.content-hero-title{align-self:stretch}#research-search{padding:0}.research-filters nav{gap:4px 16px}.research-filters .ui-side-link{font-size:var(--ui-control-size);gap:6px}.report-entry{padding:0}.report-lead{padding:0}.report-summary{font-size:var(--ui-body-size);}.report-lead .report-summary{font-size:var(--ui-subsection-size);}.report-foot{flex-wrap:wrap;gap:12px}.report-heading{margin-bottom:40px}.report-heading h2{line-height:1.5}.research-document .research-callout{padding:2px 0 2px 16px;gap:10px}.research-reading-area .reader-back{min-height:44px}}
@media(prefers-reduced-motion:reduce){.report-arrow{transition:none}}

.toc-toggle{padding:0;border:0;background:transparent;color:var(--ink-muted);font:inherit;cursor:pointer}.toc-toggle::after{content:"⌄";margin-left:12px}.toc-toggle[aria-expanded="true"]::after{content:"⌃"}.toc-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:3px}
