/* Project evidence uses the existing catalogue identity, with intrinsic media. */
.preview-hero { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:clamp(24px,4vw,56px); align-items:start; padding-block:40px 48px; }
.preview-copy { min-width:0; }
.preview-copy h1 { max-width:none; font-size:clamp(2.3rem,4vw,3.4rem); line-height:1.08; overflow-wrap:anywhere; margin:0 0 14px; }
.preview-kicker { margin:0 0 16px; font-size:.875rem; }
.preview-copy .lede { font-size:1.05rem; line-height:1.6; }
.preview-access { margin:20px 0 12px; color:var(--muted); font-size:.875rem; line-height:1.55; }
.preview-actions { display:flex; flex-wrap:wrap; gap:10px; }
.preview-actions .button { white-space:normal; text-align:center; }
.preview-boundary { margin-top:24px; padding-top:18px; border-top:1px solid var(--line); font-size:.875rem; line-height:1.6; }
.preview-boundary strong { color:var(--ink); }
.preview-boundary p { margin:8px 0 0; color:var(--muted); }
.preview-media { box-shadow:none; }
.preview-media img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; background:var(--paper); }
.preview-media video { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:contain; background:var(--paper); }
.preview-media-caption { margin:0; padding:16px 18px 0; font-size:.875rem; line-height:1.5; color:var(--muted); }
.preview-media-links { display:flex; flex-wrap:wrap; gap:4px 20px; padding:4px 18px 12px; }
.preview-media-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--accent-dark); font-size:.875rem; }
.preview-media-error { margin:16px; line-height:1.5; }
.preview-media-error button { min-height:44px; padding:8px; background:var(--paper); color:var(--accent-dark); border:1px solid var(--line-strong); font:inherit; cursor:pointer; }
.preview-media { scroll-margin-top:24px; }
.preview-meta { grid-template-columns:1fr 1fr; }
.preview-meta div { padding:14px 18px; }
.preview-meta div:last-child { grid-column:1/-1; border-top:1px solid var(--line); }
.preview-meta span { text-transform:none; letter-spacing:0; font-size:.8rem; }
.preview-meta strong { font-size:.875rem; line-height:1.5; }
.preview-layout { grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); gap:clamp(28px,5vw,64px); padding-bottom:48px; scroll-margin-top:32px; }
.preview-panel { padding:0; border:0; background:transparent; min-width:0; }
.preview-panel h2 { font-size:clamp(1.65rem,2.6vw,2.15rem); line-height:1.15; }
.preview-panel h2:not(:first-child) { margin-top:36px; }
.preview-panel h3 { font-size:1.4rem; margin-top:24px; }
.preview-panel p, .preview-list { line-height:1.7; font-size:1rem; }
.preview-panel p { margin:12px 0 0; }
.preview-list { margin-top:12px; }
.preview-technical { margin-top:28px; border-block:1px solid var(--line); }
.preview-technical summary { min-height:48px; padding:14px 0; cursor:pointer; font-weight:750; }
.preview-technical .preview-list { margin-top:0; }
.preview-stack { margin:12px 0 24px; }
.preview-nav { flex-wrap:wrap; gap:8px 20px; }
.preview-nav a { font-size:.875rem; }
.no-js .static-preview .preview-copy, .no-js .static-preview .preview-media { display:block; }
.no-js .static-preview .preview-layout { display:grid; }
.no-script-panel h1 { font-size:clamp(2rem,5vw,3.4rem); }
.preview-fallback-links { margin-top:24px; }
.preview-fallback-links a { display:inline-flex; min-height:44px; align-items:center; }
@media (max-width:980px) {
  .preview-hero { grid-template-columns:1fr; gap:28px; padding-top:28px; }
  .preview-copy { max-width:72ch; }
  .preview-copy h1 { font-size:clamp(2.3rem,6vw,3.4rem); }
  .preview-layout { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .preview-copy h1 { font-size:2.35rem; }
  .preview-actions { flex-direction:column; }
  .preview-meta { grid-template-columns:1fr; }
  .preview-meta div { border-right:0; }
  .preview-meta div + div { border-top:1px solid var(--line); }
}
@media print {
  .preview-actions,.preview-media-links,.preview-nav,.preview-technical { display:none; }
  .preview-hero,.preview-layout { display:block; }
  .preview-media { max-width:600px; margin-block:24px; }
}
