/* Anonymised report samples: a short preview and a full page for reading. */
.hero-materials.report-materials { grid-template-columns: minmax(0,1fr); }
.sample-card { position:relative; border:1px solid #d5cec3; border-radius:18px; background:#f5f1fa; padding:clamp(1.5rem,3vw,2.75rem); color:#2e2e2e; }
.sample-card .report-top { font-size:.82rem; padding-bottom:1rem; margin-bottom:1.5rem; }
.sample-card blockquote { margin:0; padding:0; width:auto; max-width:34ch; font-family:'Playfair Display',Georgia,serif; font-weight:400; font-size:clamp(1.5rem,2.1vw,2rem); line-height:1.35; }
.sample-card blockquote::before { content:none; }
.sample-card .sample-label { margin:1.25rem 0 .5rem; font-size:.85rem; color:#625e58; }
.sample-card .sample-card-note { font-size:.88rem; color:#625e58; line-height:1.6; margin:1.1rem 0 1.5rem; }
.sample-card .button { background:#b9a5d6; width:fit-content; min-height:48px; }
.sample-card .button:hover { transform:translateY(-2px); }
.sample-keywords { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; margin-top:1.5rem; padding-top:1.1rem; border-top:1px solid #d5cec3; font-size:.82rem; }
.sample-result { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,4rem); align-items:start; margin-top:2.5rem; }
.result-section { scroll-margin-top:8rem; }
.sample-result .report-options { display:grid; grid-template-columns:1fr; margin:0; gap:1.75rem; }
.sample-result .report-options article { padding-top:1.25rem; border-top:1px solid #aaa69f; }
.sample-result .report-options h3 { margin-top:0; }
.sample-result .report-options .button { text-decoration:none; display:inline-flex; align-items:center; justify-content:center; min-height:48px; }
.sample-result .report-options .button:hover,.sample-result .report-options .button:focus-visible { background:#b9a5d6; }
.sample-result .report-options .button:hover { transform:translateY(-2px); }
.report-preview-dialog { width:min(53rem,calc(100% - 2rem)); padding:0; }
.report-dialog-toolbar { position:sticky; top:0; z-index:2; display:flex; justify-content:flex-end; padding:.5rem .75rem; background:#fbfaf7; border-bottom:1px solid #d5cec3; }
.report-dialog-toolbar .dialog-close { position:static; margin:0; flex:none; }
.report-preview-dialog .report-dialog-inner { max-width:76ch; margin:auto; padding:1.5rem 2.5rem 2rem; }
.report-preview-dialog .sample-origin { margin-bottom:2rem; }
.sample-excerpt { padding:1.5rem 0; border-top:1px solid #d5cec3; }
.sample-excerpt h3 { font-size:1.35rem; margin:0 0 .85rem; }
.sample-excerpt p { margin:0; line-height:1.75; }
.sample-blur { position:relative; overflow:hidden; border-radius:12px; background:#f5f1fa; margin-top:1rem; padding:1.5rem; }
.sample-blur-text { height:10rem; overflow:hidden; filter:blur(5px); user-select:none; pointer-events:none; opacity:.5; mask-image:linear-gradient(#000,transparent); }
.sample-blur-text p { margin:.5rem 0; }
.sample-continue { position:relative; margin-top:-3.5rem; text-align:center; }
.sample-continue p { margin:0 0 1rem; font-weight:600; }
.sample-continue .button { background:#b9a5d6; text-decoration:none; min-height:48px; }
.sample-disclaimer { font-size:.875rem; color:#625e58; line-height:1.65; }
.report-preview-dialog .sample-disclaimer { margin:1.5rem 0 0; }
.report-reader { max-width:960px; margin:auto; padding:clamp(2.5rem,6vw,5rem) 1.5rem 5rem; }
.report-reader-intro { max-width:780px; margin:auto; }
.report-reader .report-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:1.5rem; }
.report-reader .report-eyebrow { font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; margin:0 0 1rem; }
.report-reader h1 { font-size:clamp(2.2rem,5vw,3.5rem); line-height:1.15; margin:0 0 1.25rem; }
.report-reader .report-deck { font-size:1.12rem; line-height:1.65; margin:0 0 1.5rem; }
.report-contents { border-top:1px solid #d5cec3; border-bottom:1px solid #d5cec3; margin:2rem 0 3rem; padding:.5rem 0; }
.report-contents summary { cursor:pointer; min-height:48px; padding:.65rem .2rem; font-weight:600; }
.report-contents ol { list-style:none; padding:0; margin:1rem 0; columns:2; column-gap:2rem; }
.report-contents li { break-inside:avoid; margin-bottom:.35rem; }
.report-contents a { display:block; padding:.45rem 0; font-size:.91rem; line-height:1.4; text-decoration:none; }
.report-contents a:hover { text-decoration:underline; }
.report-reading-body { max-width:72ch; margin:auto; }
.report-chapter { padding-top:2.5rem; margin-bottom:2rem; border-top:1px solid #d5cec3; scroll-margin-top:8rem; }
.report-chapter:first-child { border-top:0; padding-top:0; }
.report-chapter h2 { font-size:clamp(1.6rem,3vw,2rem); line-height:1.3; margin:0 0 1.5rem; }
.report-chapter h3 { font-size:1.2rem; line-height:1.4; margin:2rem 0 1rem; }
.report-chapter p { font-size:1.05rem; line-height:1.8; margin:0 0 1.4rem; }
.report-reader-end { padding-top:2rem; border-top:1px solid #d5cec3; display:flex; flex-wrap:wrap; gap:1rem; }
.report-reader-end a { min-height:44px; display:inline-flex; align-items:center; }
.sample-card a:focus-visible,.sample-card button:focus-visible,.report-reader a:focus-visible,.report-contents summary:focus-visible,.sample-continue a:focus-visible { outline:2px solid #55456e; outline-offset:4px; }
@media(max-width:760px) {
 .sample-result { grid-template-columns:1fr; }
 .sample-card { border-radius:12px; }
 .sample-card blockquote { font-size:1.55rem; }
 .report-preview-dialog .report-dialog-inner { padding:1.25rem; }
 .report-reader { padding-inline:1.25rem; }
 .report-contents ol { columns:1; }
 .sample-continue .button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .sample-card .button:hover,.sample-result .report-options .button:hover { transform:none; } }
@media print { .page-report-sample .site-header,.page-report-sample .site-footer,.page-report-sample .cookie-banner,.page-report-sample .report-back,.page-report-sample .report-contents,.page-report-sample .report-reader-end { display:none!important; } .report-reader { max-width:none; padding:0; } .report-chapter { break-inside:auto; } .report-chapter h2,.report-chapter h3 { break-after:avoid; } }

/* Original illustration, independent of the anonymised report example. */
.hero-materials.report-materials { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.report-materials > .hero-drawing { min-width:0; }
.report-materials > .sample-card { min-width:0; padding:clamp(1.25rem,1.65vw,1.5rem); }
.report-materials > .sample-card .report-top { margin-bottom:1rem; padding-bottom:.85rem; }
.report-materials > .sample-card blockquote { font-size:clamp(1.4rem,1.7vw,1.55rem); line-height:1.35; }
.report-materials > .sample-card .sample-label { margin-top:1rem; }
.report-materials > .sample-card .sample-card-note { margin:1rem 0 1.25rem; }
.report-materials > .sample-card .sample-keywords { gap:.5rem 1rem; margin-top:1.25rem; padding-top:1rem; }
@media(max-width:40rem) {
 .hero-materials.report-materials { grid-template-columns:minmax(0,1fr); }
 .report-materials > .hero-drawing { width:100%; max-width:30rem; }
}
