.document-shell{width:min(var(--content-width),calc(100% - 2 * var(--layout-gutter)));margin-inline:auto;padding-block:var(--space-4) var(--space-12);min-width:0}
.document-intro{padding-block:var(--space-8);max-width:var(--reading-width)}
.document-intro h1{font-size:clamp(2rem,6vw,5rem);line-height:var(--line-heading)}
.document-intro p,.document-text,.certificate-copy p{color:var(--color-text-muted)}
.certificate-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
.certificate-card{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card)}
.certificate-card img{display:block;width:100%;height:auto;max-height:22rem;object-fit:contain;background:var(--color-surface-raised)}
.certificate-copy{padding:var(--space-6)}
.certificate-copy h2{font-size:clamp(1.3rem,2vw,1.8rem)}
.certificate-copy h2 a,.document-link,.document-pagination a{display:inline-flex;align-items:center;min-height:var(--touch-target);color:var(--color-text);text-decoration-color:var(--color-accent);text-underline-offset:4px}
.certificate-preview{display:block;max-height:65svh;object-fit:contain;margin-block:var(--space-4);border:1px solid var(--color-border)}
.document-text{white-space:pre-wrap;max-width:var(--reading-width)}
.document-actions,.document-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-block:var(--space-6)}
.certificate-skills{display:flex;flex-wrap:wrap;gap:var(--space-3);list-style:none;padding:0}
.certificate-skills li{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control)}
.cv-shell{max-width:var(--reading-width)}
.cv-viewer{display:block;width:100%;max-width:100%;height:65svh;min-height:16rem;border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface)}
@media(min-width:600px){.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.certificate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1600px){.certificate-grid{gap:var(--space-8)}}
@media(forced-colors:active){.certificate-card,.certificate-preview,.cv-viewer{border-color:CanvasText}}
