.facadeFigure{border:1px solid var(--color-line);background:#f0ede7;width:min(100%,620px);margin:30px auto 0;padding:14px}.facadePhoto{object-fit:contain;object-position:center;background:#dedbd5;width:100%;height:auto;max-height:620px;display:block}.facadeCaption{color:var(--color-muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;padding:13px 3px 2px;font-size:10px;font-weight:800;line-height:1.5}@media (max-width:640px){.facadeFigure{width:100%;margin-top:22px;padding:9px}.facadePhoto{max-height:520px}.facadeCaption{padding-top:10px;font-size:9px}}
.heroPhoto{width:100%;min-width:0;animation:rise-in .85s .12s var(--ease-out) both;grid-area:art;align-self:center}.heroFrame{isolation:isolate;width:100%;height:clamp(410px,43vw,610px);min-height:0;box-shadow:var(--shadow-soft);background:#292b2c;position:relative;overflow:hidden}.heroPhotoImage{object-fit:cover;object-position:50% 50%;width:100%;max-width:none;height:100%;animation:.7s both hero-photo-enter;display:block;position:absolute;inset:0}.heroPhotoShade{z-index:1;pointer-events:none;background:linear-gradient(#0c0e107a 0%,#0000 28% 54%,#0c0e10b8 100%);position:absolute;inset:0}.heroPhotoTopline,.heroPhotoBottom{z-index:2;color:#fff;justify-content:space-between;align-items:center;gap:14px;display:flex;position:absolute;left:clamp(15px,2vw,25px);right:clamp(15px,2vw,25px)}.heroPhotoTopline{top:clamp(15px,2vw,25px)}.heroPhotoTag,.heroPhotoCounter{letter-spacing:.13em;text-shadow:0 1px 8px #0000006b;font-size:10px;font-weight:800;line-height:1.4}.heroPhotoCounter{font-variant-numeric:tabular-nums;letter-spacing:.08em;flex:none}.heroPhotoBottom{align-items:end;bottom:42px}.heroPhotoCaption{color:#fff;letter-spacing:-.035em;text-shadow:0 2px 12px #00000080;max-width:70%;margin:0;font-size:clamp(17px,1.8vw,23px);font-weight:800;line-height:1.2}.heroPhotoControls{flex:none;gap:7px;display:flex}.heroArrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1416175c;border:1px solid #ffffff9e;border-radius:50%;place-items:center;width:44px;height:44px;font-size:20px;transition:background .2s,color .2s,transform .2s;display:grid}.heroArrow:hover:not(:disabled){color:#171a1d;background:#fff;transform:translateY(-2px)}.heroArrow:disabled{opacity:.45;cursor:not-allowed}.heroPhotoProgress{z-index:3;gap:6px;display:flex;position:absolute;bottom:17px;left:clamp(15px,2vw,25px);right:clamp(15px,2vw,25px)}.heroProgressButton{cursor:pointer;background:#ffffff7a;border:0;border-radius:99px;flex:1 1 0;min-width:0;height:4px;padding:0;position:relative;overflow:hidden}.heroProgressButton:after{content:"";border-radius:inherit;opacity:0;transform-origin:0;background:#fff;transition:opacity .2s,transform .2s;position:absolute;inset:0;transform:scaleX(0)}.heroProgressActive:after{opacity:1;transform:scaleX(1)}.heroGalleryHint{color:var(--color-muted);text-align:right;margin:10px 0 0;font-size:11px;line-height:1.5}@keyframes hero-photo-enter{0%{opacity:.35;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}@media (max-width:1180px){.heroFrame{height:clamp(370px,44vw,520px)}}@media (max-width:900px){.heroFrame{height:clamp(340px,50vw,460px)}.heroPhotoTag,.heroPhotoCounter{font-size:9px}}@media (max-width:640px){.heroPhoto{width:100%}.heroFrame{aspect-ratio:4/3;height:auto}.heroPhotoBottom{bottom:38px}.heroPhotoCaption{font-size:17px}.heroArrow{width:39px;height:39px}.heroPhotoProgress{bottom:16px}.heroGalleryHint{text-align:left}}@media (max-width:380px){.heroPhotoTag{letter-spacing:.09em;font-size:8px}.heroPhotoCaption{font-size:15px}.heroArrow{width:35px;height:35px}}@media (prefers-reduced-motion:reduce){.heroPhoto,.heroPhotoImage,.heroArrow,.heroProgressButton:after{transition:none;animation:none}}
.section{background:#fff}.intro{max-width:470px}.intro p{color:var(--color-muted);margin:0 0 12px;font-size:14px;line-height:1.7}.intro a,.card a{color:var(--color-accent);text-underline-offset:3px;font-size:12px;font-weight:800;text-decoration:underline}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card{border:1px solid var(--color-line);background:#fbfaf7;flex-direction:column;min-width:0;padding:24px;display:flex}.topline{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.topline strong{font-size:14px;line-height:1.45}.topline span{color:var(--color-accent);letter-spacing:.08em;flex:none}.card p{color:#565b60;flex:1;margin:18px 0 20px;font-size:14px;line-height:1.8}@media (max-width:900px){.grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.grid{grid-template-columns:1fr}.card{padding:21px}}
.section{isolation:isolate;background:var(--color-paper,#f4f2ed);position:relative;overflow:hidden}.galleryWrap{width:100%;min-width:0}.grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(14px,1.7vw,22px);display:grid}.card{border:1px solid var(--color-line);background:#fff;flex-direction:column;min-width:0;margin:0;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden;box-shadow:0 7px 24px #1c1e2009}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #1c1e201a}.thumbnailButton{text-align:left;cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.visual{aspect-ratio:4/3;isolation:isolate;background:#292b2d;width:100%;display:block;position:relative;overflow:hidden}.photo{object-fit:cover;object-position:50% 50%;width:100%;max-width:none;height:100%;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s;display:block;position:absolute;inset:0}.card:hover .photo,.thumbnailButton:focus-visible .photo{filter:saturate(1.05);transform:scale(1.045)}.visualOverlay{z-index:1;pointer-events:none;background:linear-gradient(#0000,#0a0c0e57);position:absolute;inset:35% 0 0}.zoomHint{z-index:2;color:#fff;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#1113157a;border:1px solid #ffffffb8;border-radius:50%;place-items:center;width:38px;height:38px;font-size:19px;transition:opacity .25s,transform .25s;display:grid;position:absolute;bottom:13px;right:13px;transform:translateY(5px)}.card:hover .zoomHint,.thumbnailButton:focus-visible .zoomHint{opacity:1;transform:translateY(0)}.visualIndex{z-index:2;color:#ffffffeb;font:800 10px/1 var(--font-code);letter-spacing:.13em;text-shadow:0 1px 8px #0006;position:absolute;bottom:16px;left:16px}.caption{border-top:1px solid var(--color-line);background:#fff;flex:1;align-content:center;gap:5px;min-height:78px;padding:14px 17px 16px;display:grid}.caption strong{color:var(--color-ink);letter-spacing:-.025em;text-overflow:ellipsis;font-size:clamp(14px,1.2vw,17px);font-weight:800;line-height:1.3;overflow:hidden}.caption small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.45;overflow:hidden}.galleryFootnote{border-top:1px solid var(--color-line);color:var(--color-muted);justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding-top:14px;font-size:10px;line-height:1.5;display:flex}.galleryFootnote span:first-child{color:var(--color-accent);font:800 10px/1.4 var(--font-code);letter-spacing:.12em;flex:none}.lightbox{z-index:9999;color:#fff;background:#0b0d0ff9;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;padding:clamp(14px,2vw,26px) clamp(14px,3vw,42px) clamp(14px,2vw,24px);animation:.22s both lightbox-appear;display:grid;position:fixed;inset:0}.lightboxTopbar,.lightboxTopActions,.lightboxFooter{justify-content:space-between;align-items:center;gap:18px;display:flex}.lightboxTopbar,.lightboxFooter{width:min(100%,1500px);margin-inline:auto}.lightboxIdentity{letter-spacing:.13em;gap:5px;font-size:12px;font-weight:850;display:grid}.lightboxIdentity small{color:#ffffff8c;letter-spacing:.15em;font-size:9px;font-weight:700}.lightboxTopActions{gap:16px}.lightboxCounter{color:#ffffffb3;font-variant-numeric:tabular-nums;letter-spacing:.12em;font-size:12px}.closeButton,.lightboxArrow{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff59;border-radius:50%;flex:none;place-items:center;transition:background .2s,color .2s,border-color .2s,transform .2s;display:grid}.closeButton{width:44px;height:44px;font-size:29px;line-height:1}.closeButton:hover,.lightboxArrow:hover{color:#171a1d;background:#fff;border-color:#fff;transform:scale(1.05)}.lightboxStage{touch-action:pan-y;grid-template-columns:54px minmax(0,1fr) 54px;place-items:center;gap:clamp(12px,2vw,28px);width:min(100%,1500px);min-height:0;margin-inline:auto;display:grid;position:relative}.lightboxImage{object-fit:contain;object-position:center;grid-column:2;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 245px);animation:.2s both lightbox-image-enter;display:block;box-shadow:0 20px 70px #00000059}.lightboxArrow{z-index:2;width:48px;height:48px;font-size:23px}.lightboxPrevious{grid-area:1/1}.lightboxNext{grid-area:1/3}.lightboxFooter{align-items:center;min-height:58px}.lightboxCopy{min-width:170px}.lightboxTitle{margin:0;font-size:clamp(16px,1.6vw,21px);font-weight:800}.lightboxDescription{color:#fff9;margin:5px 0 0;font-size:13px}.filmstrip{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#ffffff59 transparent;flex:0 auto;gap:8px;max-width:min(64%,610px);padding:4px 2px;display:flex;overflow-x:auto}.filmstripButton{opacity:.58;cursor:pointer;background:#ffffff14;border:2px solid #0000;flex:0 0 74px;width:74px;height:52px;padding:0;transition:opacity .2s,border-color .2s,transform .2s;display:block;overflow:hidden}.filmstripButton img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.filmstripButton:hover{opacity:1}.filmstripActive{border-color:var(--color-accent,#c84a2f);opacity:1;transform:translateY(-2px)}.lightboxHint{color:#fff6;letter-spacing:.13em;text-align:right;width:min(100%,1500px);margin:0 auto;font-size:9px;font-weight:750}@keyframes lightbox-appear{0%{opacity:0}to{opacity:1}}@keyframes lightbox-image-enter{0%{opacity:.5}to{opacity:1}}@media (max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.caption{min-height:74px;padding:12px 13px}.lightboxStage{grid-template-columns:46px minmax(0,1fr) 46px;gap:10px}.lightboxImage{max-height:calc(100dvh - 230px)}.lightboxArrow{width:42px;height:42px}.filmstrip{max-width:52%}}@media (max-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual{aspect-ratio:1}.caption{gap:5px;min-height:66px;padding:10px}.caption strong{font-size:12px}.caption small{font-size:10px}.zoomHint{opacity:1;width:31px;height:31px;bottom:8px;right:8px;transform:none}.visualIndex{bottom:12px;left:12px}.galleryFootnote{flex-direction:column;align-items:flex-start;gap:5px}.lightbox{grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;padding:12px 12px 14px}.lightboxIdentity{font-size:10px}.lightboxIdentity small{font-size:8px}.closeButton{width:39px;height:39px}.lightboxCounter{font-size:10px}.lightboxStage{justify-content:center;padding:0 0 52px;display:flex}.lightboxImage{max-width:100%;max-height:calc(100dvh - 220px)}.lightboxArrow{background:#ffffff1f;width:42px;height:42px;position:absolute;top:auto;bottom:0}.lightboxPrevious{left:calc(50% - 48px)}.lightboxNext{right:calc(50% - 48px)}.lightboxFooter{flex-direction:column;align-items:flex-start;gap:9px}.lightboxCopy{min-width:0}.lightboxTitle{font-size:15px}.lightboxDescription{font-size:11px}.filmstrip{width:100%;max-width:100%}.filmstripButton{flex-basis:62px;width:62px;height:44px}.lightboxHint{text-align:center;font-size:7px;line-height:1.5}}@media (prefers-reduced-motion:reduce){.card,.photo,.zoomHint,.lightbox,.lightboxImage,.filmstripButton{transition:none;animation:none}}
