:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; color: #172b3f; background: #f4f7fa; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
main { max-width: 1600px; margin: auto; padding: 28px 24px 48px; }
h1 { margin: 10px 0; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.3; }
p { max-width: 80em; }
a { color: #16578d; text-underline-offset: 4px; }
:focus-visible { outline: 3px solid #a1430d; outline-offset: 4px; }
.back-link { display: inline-block; padding-block: 10px; font-weight: 700; }
.eyebrow { margin: 20px 0 0; color: #536578; font-size: .875rem; }
figure { margin: 24px 0 0; }
figure img { display: block; width: 100%; height: auto; border: 1px solid #bccbd6; border-radius: 10px; }
figcaption, .image-credit { padding-block: 10px; font-size: .875rem; }
.sample-note { padding: 16px 20px; border-left: 3px solid #c85d22; background: #fff; }
details { min-width: 0; margin-top: 28px; padding: 18px; border: 1px solid #cbd7e1; border-radius: 10px; background: white; }
summary { padding-block: 6px; font-weight: 700; cursor: pointer; }
.original-image { width: 100%; overflow: auto; border: 1px solid #cbd7e1; }
.original-image img { display: block; max-width: none; }
.limitation { margin-top: 28px; color: #536578; font-size: .875rem; }
@media (max-width: 520px) { main { padding: 20px 14px 32px; } details { padding: 14px; } }
