.record-story { color:#334f69; }
.record-story .description { max-width:780px; }
.record-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:28px 0; border-top:1px solid #d8dfdb; font-size:12px; }
.record-facts>div { padding:15px 0; border-bottom:1px solid #d8dfdb; }
.record-facts dt { font-size:10px; color:#778680; margin-bottom:5px; letter-spacing:.08em; }
.record-facts dd { margin:0; line-height:1.8; color:#3c535b; }
.record-story .record-context-note { font-size:11px; line-height:1.9; color:#728078; border-left:2px solid #c7d7b6; padding-left:16px; }
.field-gallery { padding:52px 0 40px; border-bottom:1px solid var(--line); color:#334f69; }
.field-gallery-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:28px; }
.field-gallery-heading h2 { font:500 clamp(22px,2.2vw,30px)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif; }
.field-gallery-heading>p { font-size:11px; line-height:1.9; color:#6b7d84; }
.field-gallery-heading>p span { display:block; margin-top:5px; font-size:9px; letter-spacing:.16em; }
.field-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.field-photo { margin:0; min-width:0; }
.field-photo-open { display:block; position:relative; background:#eeefe9; overflow:hidden; cursor:zoom-in; outline-offset:5px; }
.field-photo-open img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; transition:filter .2s ease; }
.field-photo-open:hover img { filter:brightness(1.04); }
.field-photo-zoom { display:grid; place-items:center; position:absolute; right:12px; bottom:12px; width:34px; height:34px; border-radius:50%; background:#fffdf4ed; color:#30495d; font-size:20px; }
.field-photo figcaption { display:flex; align-items:baseline; gap:12px; padding:18px 0 5px; }
.field-photo-number { font-size:9px; color:#967c64; letter-spacing:.1em; }
.field-photo h3 { font-weight:500; font-size:14px; margin:0 0 6px; }
.field-photo figcaption p { color:#697b83; font-size:11px; line-height:1.9; margin:0; }
.field-photo-credit { margin:22px 0 0; color:#748188; font-size:10px; line-height:1.9; }
.field-photo-credit a { text-decoration:underline; text-underline-offset:4px; }
.field-gallery.is-single .field-photo-grid { display:block; max-width:800px; }
.field-gallery.is-single .field-photo figcaption { max-width:680px; }
.photo-dialog { width:min(1040px,calc(100vw - 48px)); max-width:none; max-height:calc(100svh - 40px); border:0; padding:0; background:#f7f7f1; color:#334f69; box-shadow:0 25px 90px #05172466; }
.photo-dialog::backdrop { background:#152b3be6; }
.photo-dialog-bar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:10px 18px; border-bottom:1px solid #d4ded9; }
.photo-dialog-count { font:10px/1.6 sans-serif; letter-spacing:.1em; }
.photo-dialog button { color:inherit; background:transparent; border:1px solid #9eb1b34d; min-width:44px; min-height:44px; cursor:pointer; }
.photo-dialog-close { padding:0 15px; font-size:12px; }
.photo-dialog-visual { display:flex; justify-content:center; align-items:center; min-height:150px; max-height:calc(100svh - 285px); padding:16px 20px; background:#eeefe9; overflow:auto; }
.photo-dialog-image { display:block; width:auto; height:auto; max-width:100%; max-height:calc(100svh - 317px); object-fit:contain; }
.photo-dialog-footer { display:flex; gap:20px; justify-content:space-between; align-items:start; padding:20px 24px; }
.photo-dialog-description { min-width:0; }
.photo-dialog-description h2 { font-size:18px; font-weight:500; margin:0 0 6px; }
.photo-dialog-description p { font-size:12px; line-height:1.8; margin:0; }
.photo-dialog-source { display:inline-block; color:#6b7d84; font-size:10px; margin-top:12px; text-decoration:underline; text-underline-offset:4px; }
.photo-dialog-source:not([href]) { text-decoration:none; }
.photo-dialog-navigation { display:flex; gap:8px; flex:none; }
.photo-dialog-navigation button { border-radius:50%; font-size:20px; }
.photo-dialog [hidden] { display:none; }
.photo-dialog:focus-visible,.photo-dialog button:focus-visible { outline:2px solid #467293; outline-offset:3px; }
@media(max-width:760px) {
 .record-facts { gap:0 18px; margin:22px 0; }
 .record-facts>div { padding:12px 0; }
 .field-gallery { padding:34px 0; }
 .field-gallery-heading { display:block; margin-bottom:22px; }
 .field-gallery-heading>p { margin-top:12px; }
 .field-gallery-heading>p span { display:inline; margin-left:12px; font-size:8px; }
 .field-photo-grid { grid-template-columns:1fr; gap:28px; }
 .field-photo figcaption { padding-top:13px; }
 .field-photo h3 { font-size:14px; }
 .field-photo-zoom { width:40px; height:40px; }
 .photo-dialog { width:calc(100vw - 20px); max-height:calc(100svh - 20px); }
 .photo-dialog-bar { padding:8px 12px; }
 .photo-dialog-visual { padding:12px; max-height:calc(100svh - 285px); }
 .photo-dialog-image { max-height:calc(100svh - 309px); }
 .photo-dialog-footer { padding:16px; gap:16px; flex-wrap:wrap; }
 .photo-dialog-description { flex:1 1 220px; }
 .photo-dialog-description h2 { font-size:16px; }
 .photo-dialog-description p { font-size:11px; }
 .photo-dialog-navigation { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) { .field-photo-open img { transition:none; } }
