:root{font-family:Arial,sans-serif;color:#2c2c2c;background:#fff;--accent:#803842}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}.construction{max-width:1240px;margin:auto;padding:32px 20px 28px}h2{font-size:clamp(46px,8vw,96px);line-height:.95;letter-spacing:-.04em;margin:16px 0 42px;font-weight:700}.toolbar{display:flex;gap:24px;align-items:flex-end;margin-bottom:22px}.period{display:flex;flex-direction:column;gap:8px}.period label{font-size:14px;color:#646464}select{min-width:220px;border:1px solid var(--accent);border-radius:12px;padding:12px 36px 12px 16px;background:#fff;color:var(--accent);font-size:16px;font-weight:600}.meta{display:flex;flex-direction:column;gap:7px;flex:1;padding-bottom:4px;font-size:14px;color:#646464}.meta span:first-child{font-size:16px;color:#2c2c2c}.arrows{display:flex;gap:10px}.arrows button{border:0;background:var(--accent);color:#fff;width:46px;height:46px;border-radius:50%;font-size:34px;line-height:1}.gallery{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#803842 #f3eeee;padding:2px 0 18px;overscroll-behavior-x:contain}.card{position:relative;flex:0 0 calc((100% - 48px)/3);min-width:0;border:0;padding:0;background:#f4f1ef;border-radius:18px;aspect-ratio:3/4;scroll-snap-align:start;overflow:hidden}.card img{width:100%;height:100%;object-fit:contain;display:block}.card:after{content:'↗';position:absolute;right:12px;bottom:12px;background:rgba(128,56,66,.92);color:#fff;border-radius:50%;width:36px;height:36px;line-height:36px;font-size:22px}.image-error{position:absolute;inset:0;display:grid;place-items:center;padding:24px;font-size:15px;line-height:1.4;color:#646464;background:#f4f1ef}.source{display:inline-block;margin-top:14px;font-size:13px;color:#646464;text-underline-offset:3px}#message{margin:12px 0 24px;color:#646464;font-size:15px}#message[hidden]{display:none}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #803842;outline-offset:4px}dialog{border:0;width:min(100vw,1100px);max-width:100vw;max-height:100vh;padding:50px 70px 28px;background:#171717;color:#fff;border-radius:12px}dialog::backdrop{background:rgba(0,0,0,.85)}dialog figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px}dialog img{display:block;max-width:100%;max-height:75vh;object-fit:contain}dialog button{position:absolute;border:0;border-radius:50%;background:#803842;color:#fff;width:44px;height:44px;font-size:32px;line-height:1}.close{right:12px;top:12px}.viewer-prev{left:12px;top:48%}.viewer-next{right:12px;top:48%}figcaption{font-size:14px;text-align:center}@media(max-width:959px){h2{margin-bottom:32px}.card{flex-basis:calc((100% - 20px)/2)}.gallery{gap:20px}}@media(max-width:639px){.construction{padding:20px 16px 24px}h2{font-size:46px;max-width:100%;margin:10px 0 30px;overflow-wrap:anywhere}.toolbar{gap:16px;flex-wrap:wrap}.period{flex:1;min-width:200px}select{width:100%;min-width:0}.meta{order:3;flex-basis:100%;font-size:13px}.card{flex-basis:85%;border-radius:14px}.gallery{gap:16px}.arrows{gap:8px}.arrows button{width:40px;height:40px}dialog{padding:55px 48px 24px;border-radius:0}dialog img{max-height:70vh}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root.embedded{overflow-y:hidden}:root.embedded h2{display:none}:root.embedded .construction{padding-top:0}
:root .arrows{margin-left:auto}
:root .arrows button{display:grid;place-items:center;padding:0;line-height:0}:root .arrows svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:root select{appearance:none;-webkit-appearance:none;padding-left:12px;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23803842' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px}
:root .card::after{content:none;display:none}
:root .viewer-prev,:root .viewer-next{display:grid;place-items:center;padding:0;line-height:0;top:50%;transform:translateY(-50%)}:root .viewer-prev svg,:root .viewer-next svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
