/* Reading layouts extend the shared Research design system. */
.sample-library .sl-hero { display:block; min-height:0; padding-top:48px; padding-bottom:56px; }
.sample-library .sl-hero h1 { max-width:960px; }
.sample-library .sl-hero .hero-text { max-width:790px; }
.sample-library .sl-hero .rr-kicker { margin:28px 0 18px; }
.sl-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:14px; color:var(--site-secondary); }
.sl-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.sl-date { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:24px; }
.sample-library .rr-note,.sample-library .rr-section .rr-note { color:var(--site-secondary); }
.sl-title-band { background:var(--site-bg); }
.sl-company-mark { display:inline-flex; align-items:center; padding:12px; background:var(--ds-colour-surface-light); border-radius:6px; border:1px solid var(--site-border); }
.sl-company-mark img { width:132px; height:30px; object-fit:contain; }
.sample-library .sl-group { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:64px; border-top:1px solid var(--site-border); }
.sl-group > header { align-self:start; }
.sample-library .sl-group > header > .rr-kicker { margin:0; }
.sl-entry { padding:32px 0; border-top:1px solid var(--site-border); }
.sl-entry:first-child { padding-top:0; border-top:0; }
.sl-entry:last-child { padding-bottom:0; }
.sl-entry-meta { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.sample-library .sl-entry-meta .rr-label,.sample-library .sl-group > header > .rr-kicker { font-size:13px; line-height:1.4; }
.sl-index-identity { display:flex; align-items:center; gap:16px; margin:24px 0 12px; }
.sample-library .sl-index-identity h3 { margin:0; }
.sl-index-identity .sl-company-mark { flex-shrink:0; padding:8px; }
.sl-index-identity .sl-company-mark img { width:108px; height:26px; }
.sl-entry h3 a { text-decoration:none; }
.sl-entry h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.sample-library .sl-entry .sl-question { color:var(--site-text); font-weight:600; }
.sl-tone-1 { --band-colour:var(--c-logo-bar-1); --band-wash:var(--c-logo-band-1); }
.sl-tone-2 { --band-colour:var(--c-logo-bar-2); --band-wash:var(--c-logo-band-2); }
.sl-tone-3 { --band-colour:var(--c-logo-bar-3); --band-wash:var(--c-logo-band-3); }
.sl-tone-4 { --band-colour:var(--c-logo-bar-4); --band-wash:var(--c-logo-band-4); }
.sl-band { background:var(--band-wash); border-top:1px solid var(--site-border); scroll-margin-top:100px; }
.sl-roadmap { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:40px 0; }
.sl-roadmap-link { display:flex; flex-direction:column; gap:12px; font-size:14px; line-height:1.5; }
.sl-roadmap-link b { margin-right:6px; font-variant-numeric:tabular-nums; }
.sl-roadmap-bar { display:block; height:14px; width:100%; background:var(--band-colour); border:1px solid var(--site-border); border-radius:var(--radius-card); }
.sl-roadmap-link:hover { text-decoration:underline; text-underline-offset:4px; }
.sample-library .sl-band-inner { padding-top:64px; padding-bottom:64px; }
.sl-band-heading { display:flex; gap:20px; align-items:baseline; margin-bottom:20px; }
.sl-band-number { color:var(--site-secondary); font-variant-numeric:tabular-nums; }
.sample-library .sl-band-heading h2 { margin:0; }
.sl-band-copy { margin-left:58px; max-width:940px; }
.sl-report-section { padding:24px 0; scroll-margin-top:110px; }
.sample-library .sl-report-section h3 { margin:0 0 18px; }
.sample-library .sl-report-section p { max-width:790px; }
.sample-library .sl-report-section p strong { color:var(--site-text); }
.sample-library .sl-report-section p a,.sample-library .sl-sources p a { text-decoration:underline; text-underline-offset:3px; }
.sample-library .sl-report-section .rr-note { font-size:13px; line-height:1.6; }
.sample-library .sl-align-right { text-align:right; font-variant-numeric:tabular-nums; }
.sample-library .sl-align-center { text-align:center; }
.sample-library .sl-align-left { text-align:left; }
.sample-library .rr-table-scroll:focus-visible { outline:2px solid var(--site-focus); outline-offset:4px; }
.sl-figure { margin:28px 0; padding:28px; background:var(--site-surface); border:1px solid var(--site-border); border-radius:var(--radius-card); }
.sample-library .sl-figure h4 { margin:12px 0; }
.sample-library .sl-figure figcaption p { font-size:13px; margin:8px 0 20px; }
.sl-chart { width:100%; height:auto; display:block; min-width:620px; }
.sl-chart-mobile { display:none; }
.sl-chart text { fill:var(--site-text); font-family:var(--font-sans); font-size:16px; }
.sl-chart .sl-chart-value { font-weight:600; }
.sl-grid { stroke:var(--site-border); stroke-width:1; }
.sl-value-bar { fill:var(--c-colour-accent); }
.sl-value-0 { fill:var(--c-colour-visual-line); }
.sl-value-1 { fill:var(--c-colour-bronze); }
.sl-value-2 { fill:var(--c-colour-visual-line); }
.sl-price-line { stroke:var(--c-colour-visual-line); stroke-width:2.5; fill:none; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.sl-partial { stroke-dasharray:4 4; }
.sl-snapshot-dot { fill:var(--site-surface); stroke:var(--c-colour-visual-line); stroke-width:2; }
.sl-estimate { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; padding:20px 0; border-top:1px solid var(--site-border); }
.sl-estimate > strong { font-size:27px; font-family:var(--font-display); }
.sl-estimate small { display:block; font-size:12px; margin-top:6px; }
.sl-estimate > span:last-child:not(:first-child) { margin-left:auto; }
.sl-heatmap td { background:color-mix(in srgb,var(--c-brand-bronze) var(--heat),var(--site-surface)); }
.sl-heatmap .sl-base-cell { outline:2px solid var(--site-text); outline-offset:-2px; font-weight:700; }
.sl-base-cell small { display:block; font-size:11px; }
.sl-setup { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:24px 0; border-top:1px solid var(--site-border); }
.sample-library .sl-setup p { font-size:14px; }
.sl-transmission { display:grid; gap:20px; }
.sl-transmission ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:30px; }
.sl-transmission li { padding:18px; position:relative; background:var(--site-slate-wash); border-radius:6px; }
.sl-transmission li:last-child { background:var(--site-bronze-wash); }
.sl-transmission li:not(:last-child)::after { content:'→'; position:absolute; right:-23px; top:45%; color:var(--site-text); }
.sample-library .sl-transmission p { font-size:14px; margin-bottom:0; }
.sample-library .sl-transmission .rr-label { font-size:11px; }
.sl-product-cta { display:flex; gap:20px; align-items:flex-start; border-top:1px solid var(--site-border); margin-top:24px; padding-top:28px; }
.sl-product-cta > img { flex-shrink:0; }
.sample-library .sl-product-cta .rr-label { margin-top:0; }
.sample-library .sl-sources { max-width:1000px; padding-top:48px; padding-bottom:48px; }
.sample-library .sl-sources p { font-size:14px; }
.sl-next { border-top:1px solid var(--site-border); }
@media(max-width:1000px) {
 .sample-library .sl-group { gap:32px; }
 .sl-band-copy { margin-left:0; }
 .sl-roadmap { gap:16px; }
}
@media(max-width:760px) {
 .sample-library .sl-hero { padding-top:28px; padding-bottom:32px; }
 .sample-library .sl-group { display:block; }
 .sl-group > header { margin-bottom:36px; }
 .sl-roadmap { grid-template-columns:1fr; gap:16px; margin:28px 0; }
 .sl-roadmap-link { display:grid; grid-template-columns:64px 1fr; gap:14px; align-items:center; }
 .sl-roadmap-bar { height:12px; }
 .sl-band-heading { gap:12px; }
 .sl-index-identity { gap:12px; }
 .sl-index-identity .sl-company-mark img { width:86px; height:24px; }
 .sample-library .sl-band-inner { padding-top:40px; padding-bottom:40px; }
 .sl-report-section { padding:22px 0; }
 .sl-chart-desktop { display:none; }
 .sl-chart-mobile { display:block; min-width:0; }
 .sl-chart-mobile text { font-size:16px; }
 .sl-figure { padding:18px; margin:24px 0; }
 .sl-setup,.sl-transmission ol { grid-template-columns:1fr; }
 .sl-transmission li:not(:last-child)::after { content:'↓'; right:50%; top:auto; bottom:-25px; }
 .sl-transmission { gap:32px; }
 .sl-product-cta { gap:12px; }
 .sl-product-cta .hero-actions { align-items:flex-start; flex-direction:column; }
 .sl-estimate > span:last-child:not(:first-child) { margin-left:0; }
 .sample-library .sl-report-section table { min-width:520px; }
 .sample-library .sl-heatmap { min-width:660px; }
}
@media print {
 .sl-roadmap,.sl-product-cta { display:none; }
 .sl-band { background:transparent; }
 .sl-figure { break-inside:avoid; }
 .sl-chart,.sample-library .sl-report-section table { min-width:0; }
 .sample-library .rr-table-scroll { overflow:visible; }
}
