/* Continue the approved palette and editorial rhythm. */
.details-page,.rector-page{max-width:1240px;color:#202923}
.details-page h1,.rector-page h1{color:#244a3d}
.detail-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:42px;margin-top:38px;align-items:start}
.detail-views,.detail-frames{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.detail-views button,.detail-frames button{background:transparent;border:1px solid #b39754;color:#244a3d;border-radius:30px;min-height:44px;padding:9px 22px;font:inherit;cursor:pointer}
.detail-views button[aria-pressed=true],.detail-frames button[aria-pressed=true]{background:#244a3d;color:#fff;border-color:#244a3d}
.detail-overview{margin:0}.detail-image-plane{position:relative;width:fit-content;max-width:100%;margin:auto;line-height:0}
.detail-overview-image{display:block;max-height:740px;max-width:100%;width:auto;height:auto;object-fit:contain}
.detail-overview figcaption{margin-top:14px;font-size:14px;line-height:1.6;color:#61675f}
.detail-pin{position:absolute;transform:translate(-50%,-50%);border:3px solid #fff7df;border-radius:50%;width:44px;height:44px;background:#b39754;color:#142c23;font:600 16px 'Golos Text',sans-serif;cursor:pointer;box-shadow:0 2px 8px #0005;transition:background .18s,box-shadow .18s}
.detail-pin:hover,.detail-pin[aria-pressed=true]{background:#244a3d;color:#fff;box-shadow:0 0 0 5px #b3975466}
.detail-list{display:flex;flex-direction:column;gap:8px;margin-top:24px}
.detail-list button{display:flex;align-items:center;gap:16px;min-height:48px;text-align:left;padding:12px 16px;border:1px solid #d3c4a5;background:transparent;color:#244a3d;font:inherit;cursor:pointer}
.detail-list button span{font-weight:600;color:#987431}.detail-list button[aria-pressed=true]{background:#e9e5d9;border-color:#b39754}
.detail-inspector{background:#faf7f0;padding:32px;border-top:2px solid #b39754;scroll-margin-top:24px}
.detail-inspector h2{margin:10px 0 24px;font-size:42px;line-height:1.1;color:#244a3d}
.detail-inspector p{font-size:17px;line-height:1.75}.detail-inspector .story-gallery{grid-template-columns:1fr;gap:20px}
.detail-inspector .story-gallery img{height:310px;object-fit:contain;background:#efe9dd}
.detail-inspector .story-gallery figcaption{font-size:13px;line-height:1.5}
.detail-story-link{display:block;margin:24px 0;color:#244a3d}.detail-next{margin-top:14px;min-height:44px}
.detail-inspector .detail-close-gallery{animation:detail-reveal .22s ease-out}
@keyframes detail-reveal{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
.detail-pin:focus-visible,.detail-list button:focus-visible,.detail-frames button:focus-visible,.detail-views button:focus-visible{outline:3px solid #244a3d;outline-offset:5px}
.rector-lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:70px;align-items:center;padding:24px 0 64px;border-bottom:1px solid #b3975480}
.rector-lead h1{font-size:90px;line-height:1.05;margin:22px 0}.rector-name{color:#86703e;font-size:20px;max-width:450px;line-height:1.5}
.rector-lead .intro{max-width:530px;font-size:20px;line-height:1.8;margin:24px 0 32px}
.rector-lead figure{margin:0}.rector-lead img{display:block;width:100%;max-height:650px;object-fit:contain;background:#e9e3d6}
.rector-page figcaption{font-size:13px;color:#62675f;line-height:1.5;margin-top:12px}
.rector-page h2{font-size:48px;line-height:1.12;color:#244a3d;margin:14px 0 24px}
.rector-path{padding:60px 0;max-width:820px}.rector-page p{line-height:1.8}
.rector-work{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:start;padding:48px 0;border-top:1px solid #b3975480}
.rector-work .story-gallery{display:flex;flex-direction:column}.rector-work .story-gallery img{height:auto;max-height:420px;object-fit:contain;background:#efe9dd}
.rector-work blockquote{margin:30px 0;padding:12px 0 12px 24px;border-left:2px solid #b39754;font:32px/1.3 'Cormorant Garamond',serif;color:#244a3d}.rector-work cite{display:block;font:14px/1.6 'Golos Text',sans-serif;margin-top:14px}
.rector-sound,.rector-recordings{padding:48px 0;border-top:1px solid #b3975480}
.rector-sound p{max-width:800px}.rector-recordings article{padding:20px 0;border-bottom:1px solid #d6c9ae;max-width:900px}.rector-recordings audio{width:100%;margin:12px 0}.rector-recordings video{width:100%;max-height:620px;background:#142c23}
.rector-recordings summary{cursor:pointer;min-height:44px;padding-top:10px}.rector-invitation{background:#244a3d;color:#f6f1e7;padding:44px;margin-top:40px}.rector-invitation h2{color:#f6f1e7}.rector-invitation p{max-width:820px}.rector-invitation .button{background:#f6f1e7;color:#244a3d}.rector-invitation .outline{color:#f6f1e7;border-color:#b39754}
.people-cards:has(.rector-preview){grid-template-columns:repeat(2,minmax(0,1fr))}.rector-preview img{object-position:center 26%}.people-cards .rector-preview p{max-width:440px}
@media(max-width:1100px){.rector-lead{gap:36px}.rector-lead h1{font-size:70px}.detail-workspace{gap:24px}.detail-inspector{padding:24px}}
@media(max-width:760px){.detail-workspace,.rector-lead,.rector-work{grid-template-columns:1fr;gap:26px}.details-page,.rector-page{padding-left:20px;padding-right:20px}.detail-inspector{padding:22px}.detail-inspector h2{font-size:34px}.detail-overview-image{max-height:none;width:100%}.detail-image-plane{width:100%}.detail-inspector .story-gallery img{height:auto;max-height:420px}.rector-lead{padding-top:10px;padding-bottom:40px}.rector-lead h1{font-size:56px;margin:14px 0}.rector-lead .intro{font-size:17px}.rector-name{font-size:17px}.rector-page h2{font-size:36px}.rector-path{padding:38px 0}.rector-work{padding:36px 0}.rector-invitation{padding:26px 22px}.people-cards:has(.rector-preview){grid-template-columns:1fr}.rector-work blockquote{font-size:28px}}
@media(prefers-reduced-motion:reduce){.detail-pin{transition:none}.detail-inspector .detail-close-gallery{animation:none}}
@media(min-width:761px){.close-look .detail-marker.marker-one{left:89%;top:43%;text-decoration:none;color:#244a3d;min-width:44px;min-height:44px;display:grid;place-items:center}}
#photo-viewer.photo-zoomed figure{overflow:auto;max-height:73dvh;width:100%;display:block}
#photo-viewer.photo-zoomed figure img{width:200%;height:auto;max-width:none;max-height:none;object-fit:initial}
#photo-viewer .photo-zoom{min-width:44px;min-height:44px}
.detail-inspector:focus-visible{outline:2px solid #b39754;outline-offset:4px}

/* Use the existing visual language for a collection of real objects. */
.details-page h1{font-size:clamp(36px,4vw,54px);margin:14px 0 12px;line-height:1.1}
.details-page{padding-top:28px}.details-page>.breadcrumbs{margin-bottom:14px}
.details-page .detail-overview-open{margin:0}.detail-frames:empty,.detail-views:empty{display:none}
.detail-views .eyebrow{margin-bottom:0}.detail-topics{justify-content:flex-start}
.details-page>.intro{font-size:17px;line-height:1.6;margin-bottom:24px;max-width:760px}
.detail-topics{display:flex;flex-wrap:wrap;gap:8px 22px;border-bottom:1px solid #d3c4a5;margin-bottom:20px}
.detail-topics button{min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:#244a3d;padding:8px 0;font:inherit;cursor:pointer}
.detail-topics button[aria-pressed=true]{border-color:#b39754;font-weight:600}
.detail-objects{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:26px}
.detail-objects button{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:12px;width:220px;text-align:left;padding:8px;border:1px solid transparent;background:transparent;color:#244a3d;font:inherit;cursor:pointer}
.detail-objects button img{width:66px;height:72px;object-fit:contain;background:#e9e5d9}
.detail-objects button[aria-pressed=true]{border-color:#b39754;background:#efe9dd}
.detail-workspace{margin-top:0;gap:32px}
.detail-overview-image{max-height:560px}
.detail-overview-open{position:relative;display:block;border:0;padding:0;background:transparent;cursor:zoom-in;line-height:0;color:#fff;width:100%}
.detail-overview-open>span{position:absolute;bottom:12px;right:12px;background:#244a3de8;border-radius:20px;padding:11px 16px;font:13px 'Golos Text',sans-serif;line-height:1.3}
.detail-overview figcaption{max-width:530px;font-size:13px}
.detail-inspector{min-width:0;padding:26px;overflow-wrap:anywhere}
.detail-inspector h2{font-size:34px;line-height:1.15;margin:10px 0 18px}
.detail-inspector p{font-size:16px;line-height:1.7}
.detail-main-photo{margin:0}.detail-main-photo button{position:relative;display:block;width:100%;padding:0;border:0;background:#efe9dd;color:#244a3d;cursor:zoom-in;min-height:44px;font:inherit}
.detail-main-photo img{display:block;width:100%;height:290px;object-fit:contain}
.detail-main-photo button>span{position:absolute;right:10px;bottom:10px;background:#244a3d;color:#fff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
.detail-main-photo figcaption{font-size:12px;line-height:1.5;margin-top:9px;color:#61675f}
.detail-thumbnails{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 22px}
.detail-thumbnails button{position:relative;min-width:56px;min-height:56px;padding:3px;border:1px solid transparent;background:transparent;cursor:pointer}
.detail-thumbnails button[aria-pressed=true]{border-color:#b39754}.detail-thumbnails img{width:62px;height:66px;object-fit:contain;background:#efe9dd;display:block}
.detail-thumbnails span{position:absolute;bottom:3px;right:3px;background:#244a3d;color:#fff;font-size:11px;padding:2px 4px}
.detail-topics button:focus-visible,.detail-objects button:focus-visible,.detail-overview-open:focus-visible,.detail-main-photo button:focus-visible,.detail-thumbnails button:focus-visible{outline:3px solid #244a3d;outline-offset:4px}
@media(max-width:760px){.details-page h1{font-size:38px}.details-page>.intro{font-size:16px}.detail-topics{gap:8px 18px}.detail-topics button{font-size:14px}.detail-objects{gap:10px}.detail-objects button{width:calc(50% - 5px);grid-template-columns:1fr;gap:8px;font-size:14px}.detail-objects button img{height:90px;width:100%}.detail-workspace{gap:24px}.detail-overview-image{max-height:560px;width:100%;height:auto}.detail-image-plane{width:fit-content;max-width:100%}.detail-inspector{padding:22px}.detail-inspector h2{font-size:30px}.detail-main-photo img{height:260px}}
.rector-sound-gallery{max-width:820px;grid-template-columns:1fr}.rector-sound-gallery img{height:auto;max-height:460px;object-fit:contain}.rector-deed-links{padding:0;margin:28px 0;list-style:none}.rector-deed-links li{margin:12px 0}.rector-deed-links a{color:#244a3d}
.people-cards:has(.rector-preview) .person-card>img,.people-cards:has(.rector-preview) .portrait-pending{height:calc(150*var(--u))}
.people-cards .rector-preview>img{object-position:50% 18%}
@media(max-width:760px){.people-cards:has(.rector-preview) .person-card>img,.people-cards:has(.rector-preview) .portrait-pending{height:220px}}

/* Internal page titles share a compact scale; the approved homepage hero keeps its composition. */
body:not([data-page="home"]) main h1{font-size:clamp(30px,3.2vw,40px);line-height:1.16;white-space:normal;overflow-wrap:break-word;margin-bottom:18px}

/* Keep a large image and its story in place while changing only the selected view. */
.detail-workspace{grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:32px}
.detail-photo-canvas{position:relative;height:740px;display:grid;place-items:center;background:#eae5da;border-radius:6px;overflow:hidden}
.detail-photo-canvas .detail-image-plane{width:100%;height:100%;max-width:none;display:grid;place-items:center;line-height:0}
.detail-enlarge{position:relative;display:grid;place-items:center;border:0;padding:0;background:transparent;width:100%;height:100%;cursor:zoom-in}
.detail-enlarge .detail-overview-image{display:block;width:auto;height:auto;max-width:100%;max-height:740px}
.detail-photo-canvas:not(.showing-fragment) .detail-image-plane{width:fit-content;height:fit-content;max-height:100%;max-width:100%}
.detail-enlarge>span{position:absolute;right:12px;bottom:12px;background:#244a3de8;color:#fff;border-radius:24px;padding:12px 18px;font:13px 'Golos Text',sans-serif;line-height:1.2}
.detail-back{position:absolute;top:14px;left:14px;min-height:44px;font-size:14px;background:#f6f1e7;z-index:2}
.cropped-photo{width:100%;height:100%;display:block}.cropped-photo[aria-busy=true]{opacity:0}
.detail-list{flex-direction:row;flex-wrap:wrap;margin:16px 0;gap:10px}.detail-list button{font-size:14px;gap:9px;min-height:44px;padding:10px 14px}
.detail-photo-strip{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}.detail-photo-strip button{display:grid;width:136px;gap:7px;padding:5px;border:1px solid transparent;background:transparent;text-align:left;color:#244a3d;font:12px 'Golos Text',sans-serif;line-height:1.5;cursor:pointer}.detail-photo-strip button[aria-pressed=true]{border-color:#b39754}.detail-photo-strip img{width:124px;height:104px;object-fit:contain;background:#eae5da}
.detail-inspector .story-text p{margin:0 0 20px}.detail-inspector .detail-close-gallery{animation:none}
.detail-back:focus-visible,.detail-enlarge:focus-visible,.detail-photo-strip button:focus-visible{outline:3px solid #244a3d;outline-offset:3px}
#photo-viewer img[hidden],#photo-viewer .photo-crop-surface[hidden]{display:none!important}
#photo-viewer.photo-cropped .photo-image-surface{height:72dvh;overflow:hidden}
#photo-viewer.photo-cropped .photo-crop-surface{height:100%;width:100%}
#photo-viewer.photo-cropped.photo-zoomed .cropped-photo{transform:scale(1.6);transform-origin:center}
@media(max-width:1000px){.detail-workspace{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}.detail-photo-canvas{height:640px}.detail-enlarge .detail-overview-image{max-height:640px}}
@media(max-width:760px){.detail-workspace{display:flex;flex-direction:column;gap:24px}.detail-overviews,.detail-inspector{width:100%}.detail-photo-canvas{height:560px}.detail-enlarge .detail-overview-image{max-height:560px}.detail-photo-canvas .detail-image-plane{max-width:100%}.detail-photo-strip button{width:106px}.detail-photo-strip img{width:94px;height:88px}.detail-inspector{padding:24px}.detail-back{font-size:12px;padding:10px 14px}.detail-enlarge>span{font-size:12px;padding:10px 14px}}

.voice-kicker{color:#987431;font-size:14px;letter-spacing:.05em;margin:0 0 10px}
.voice-categories{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid #d3c4a5;margin:28px 0}
.voice-categories a{display:block;padding:12px 0;min-height:44px;color:#244a3d;text-decoration:none;border-bottom:2px solid transparent}
.voice-categories a[aria-current]{border-color:#b39754;font-weight:600}
.voice-record{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:42px;border-bottom:1px solid #d3c4a5;padding:30px 0;scroll-margin-top:30px}
.voice-record h2{font-size:30px;line-height:1.16;margin:10px 0;color:#244a3d}
.voice-body>p{margin-top:0;line-height:1.8}.voice-body audio{width:100%;margin:12px 0 20px}
.voice-body summary{min-height:44px;cursor:pointer;color:#244a3d}.voice-body .story-text p{line-height:1.8;margin-top:10px}
.voice-link{display:inline-block;margin-top:12px;font-size:13px;color:#244a3d}.selected-record{border-top:2px solid #b39754}
.listen-preview .listen-caption{padding-top:22px;padding-bottom:10px}.listen-preview .listen-caption .button{font-size:16px}
@media(max-width:760px){.voice-record{grid-template-columns:1fr;gap:12px;padding:26px 0}.voice-record h2{font-size:27px}.voice-categories{gap:18px}}

/* Keep enlargement at an explicit pixel scale, with scrolling for large details. */
#photo-viewer .photo-image-surface{height:70dvh;overflow:auto;width:100%;display:block}
#photo-viewer.photo-cropped .photo-image-surface{height:70dvh;overflow:auto}
#photo-viewer .photo-image-surface>img{display:block;max-width:none;max-height:none;object-fit:fill;margin:auto}
#photo-viewer .photo-crop-surface{display:block;margin:auto;max-width:none;max-height:none}
#photo-viewer.photo-cropped .photo-crop-surface{width:auto;height:auto}
#photo-viewer.photo-cropped.photo-zoomed .cropped-photo{transform:none}
#photo-viewer.photo-zoomed figure{overflow:visible;max-height:none}

/* Four tower views form two balanced rows without cropping the photographs. */
.tower-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.tower-gallery figure button{height:clamp(260px,30vw,380px)}
@media(max-width:760px){.tower-gallery{grid-template-columns:1fr}.tower-gallery figure button{height:300px}}
