:root{font-family:system-ui,-apple-system,sans-serif;color:#15323c;background:#f6f7f8;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:820px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #ccd5d9}.brand{font-size:.8rem;line-height:1.4;letter-spacing:.12em;text-decoration:none;color:inherit}.brand strong{font-size:1rem}.label,.eyebrow{font-size:.875rem;letter-spacing:.08em}.label{color:#47606a}h1{font-family:inherit;font-weight:700;font-size:clamp(2rem,5vw,2.8rem);line-height:1.18;margin:16px 0 24px}h2{font-size:1.3rem;line-height:1.35}p{max-width:65ch}a{color:#145469;text-underline-offset:4px}a:focus-visible,button:focus-visible,audio:focus-visible{outline:3px solid #b26600;outline-offset:5px}.skip{position:absolute;left:12px;top:-90px;background:white;padding:12px}.skip:focus{top:12px}.hero{background:#123b48;color:white;padding:28px;border-radius:12px;margin:16px 0}.hero h1{max-width:600px}.hero p{color:#e0e9ed}.hero .eyebrow{color:#f4c969}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:3px;text-decoration:none;background:#123b48;color:white;font-weight:650}.hero .button{background:#185adb;color:white}.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.notice{font-size:.875rem;color:#4a5b63;border-left:3px solid #d4a33c;padding:8px 14px;margin:24px 0}.list{list-style:none;padding:0;display:grid;gap:12px}.card{display:grid;grid-template-columns:90px 1fr 24px;gap:20px;align-items:center;background:white;padding:16px;border:1px solid #d6dfe3;text-decoration:none;color:inherit;border-radius:4px}.card:hover{border-color:#145469}.card img{width:90px;height:80px;object-fit:cover;border-radius:2px}.card h2{margin:2px 0}.card small{font-size:.875rem;color:#546872}.photo{display:block;width:100%;aspect-ratio:5/3;object-fit:cover;border-radius:4px}figure{margin:24px 0}figcaption{font-size:.875rem;color:#546872;margin-top:8px}.player{padding:20px;background:#e5eef1;border-radius:4px}.player h2{margin:0 0 12px}audio{width:100%;display:block;min-height:54px}.transcript{white-space:pre-line}.nav{display:flex;justify-content:space-between;gap:16px;margin-top:32px;border-top:1px solid #ccd5d9;padding-top:24px}.nav a{min-height:48px;display:flex;align-items:center}footer{font-size:.875rem;color:#546872;margin-top:24px}main:focus{outline:none}@media(max-width:500px){header,main,footer{padding:20px}.label{font-size:.75rem;max-width:95px;text-align:right}.hero{padding:24px}.card{grid-template-columns:64px 1fr 16px;gap:12px;padding:12px}.card img{width:64px;height:72px}.card h2{font-size:1.05rem}.button{width:100%}}
.gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:24px 0}.gallery figure{margin:0}.gallery .photo{aspect-ratio:auto;height:auto;max-height:420px;object-fit:contain;background:#e5eef1}.step-number{display:grid;place-items:center;background:#e5eef1;color:#15323c;font-size:1.8rem;height:80px;border-radius:3px}.transcript{white-space:normal}.transcript p{margin:0 0 1.2em}

/* Shared contemporary museum theme */
:root{color:#142e3b;background:#f4f6f8;line-height:1.65}header{padding-top:20px;padding-bottom:20px}.hero{background:#102f43}.hero .eyebrow{color:#c9def8}h1{letter-spacing:-.025em}.button{border-radius:8px;background:#185adb}.button:hover{background:#1247af}.hero .button:hover{background:#1247af}.card{border-radius:10px;padding:14px 16px;gap:16px}.card h2{font-weight:650}.card img{border-radius:5px}.card:hover{border-color:#185adb;background:#fafdff}.player{background:#e7edf5;border:1px solid #d4dfeb;border-radius:10px}.player h2{font-size:1.15rem}.gallery{grid-template-columns:minmax(0,1fr);gap:20px}.gallery .photo{border-radius:8px}.nav a{padding:10px 14px;border:1px solid #c4d3df;border-radius:8px;text-decoration:none;font-weight:600;background:white}footer{margin-top:8px;padding-top:20px;padding-bottom:20px;border-top:1px solid #d8e0e5}.transcript{max-width:68ch}.label{letter-spacing:.05em}@media(max-width:500px){header,main,footer{padding:18px}.hero{padding:22px;margin-top:8px}.card{padding:12px;gap:12px}.nav{gap:10px}.nav a{padding:10px;font-size:.95rem}}

main:has(.hero){padding-bottom:12px}main:has(.hero) .actions{margin-bottom:4px}
