:root{font-family:Arial,Helvetica,sans-serif;color:#202c2b;background:#f7f7f4;letter-spacing:0}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.inner,.header-inner{width:min(100% - 64px,1440px);margin:auto}
.site-header{border-bottom:1px solid #d9dfdb;background:#f7f7f4}.header-inner{min-height:85px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:13px;flex:none}.brand-mark{width:51px;height:51px;background:#1a4845;color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:24px;position:relative;gap:3px}.mark-rule{width:1px;height:23px;background:#b7d6c7;transform:rotate(23deg)}.brand-name{font-size:13px;line-height:1.25;font-weight:700;text-transform:uppercase;letter-spacing:0}.header-caption{font-size:13px;color:#60716e;border-left:1px solid #cbd4cf;padding-left:26px}.manage-button{margin-left:auto;border:0;background:transparent;color:#216f65;font-size:12px;text-decoration:underline}.admin-badge{margin-left:auto;font-size:11px;text-transform:uppercase;color:#216f65;border:1px solid #8bbeb1;padding:8px 10px}
.intro{display:flex;justify-content:space-between;align-items:end;gap:45px;padding-top:55px;padding-bottom:52px}.eyebrow{margin:0 0 13px;color:#be5d42;font-size:11px;font-weight:700;letter-spacing:1.5px}h1,h2,p{margin-top:0}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3.1vw,46px);font-weight:400;line-height:1.1;margin-bottom:14px}.intro-meta{color:#60716e;font-size:14px;margin:0}.search-wrap{width:min(100%,450px);flex:none}.field-label{display:block;margin-bottom:9px;font-size:12px;font-weight:700;color:#445b56}.search-field{display:flex;align-items:center;background:#fff;border:1px solid #b6c9c3;height:48px;padding:0 13px;gap:8px}.search-field:focus-within{outline:2px solid #287c70;outline-offset:2px}.search-icon{font-family:Georgia,serif;font-size:29px;line-height:1;color:#4b7770;transform:rotate(-20deg)}.search-field input{border:0;outline:0;background:transparent;width:100%;min-width:0;color:#202c2b;font-size:14px}.search-field input::placeholder{color:#85918c}
.filters-band{border-top:1px solid #d9dfdb;border-bottom:1px solid #d9dfdb;background:#fff}.filters-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:61px}.filters{display:flex;gap:5px;overflow-x:auto}.filter{white-space:nowrap;border:0;background:transparent;padding:12px 15px;color:#536662;font-size:13px;border-bottom:2px solid transparent}.filter.active{color:#165b51;border-bottom-color:#165b51;font-weight:700}.filter:hover{color:#165b51}.result-count{flex:none;font-size:12px;color:#70827d}.results-area{padding-top:32px;padding-bottom:72px}.building-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 18px}.building-card{min-width:0;cursor:pointer}.card-image{aspect-ratio:1.44;overflow:hidden;background:#e0e7e2}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.building-card:hover img{transform:scale(1.035)}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:#667a73;font-size:11px;text-transform:uppercase}.card-id{color:#ad563f;font-weight:700}.card-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:19px;line-height:1.25;margin:7px 0 4px;overflow-wrap:anywhere}.card-count{font-size:12px;color:#7b8984}.empty-state{padding:90px 0;text-align:center;color:#687b74}
.detail-top{display:flex;justify-content:space-between;align-items:center;padding-top:30px;padding-bottom:22px}.back-link{font-size:13px;color:#286d63}.back-link:hover{text-decoration:underline}.detail-category{font-size:12px;text-transform:uppercase;color:#698078}.detail-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid #cbd6d0;padding-bottom:27px}.detail-id{color:#b25a42;font-weight:700;font-size:13px}.detail-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3vw,44px);font-weight:400;line-height:1.16;max-width:950px;margin:8px 0 0;overflow-wrap:anywhere}.photo-count{font-size:13px;color:#668078;flex:none}.detail-content{display:grid;grid-template-columns:minmax(240px,310px) minmax(0,1fr);gap:48px;padding-top:35px;padding-bottom:80px}.description-panel{align-self:start;position:sticky;top:24px}.description-panel h2,.gallery-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;margin:0 0 19px}.description-panel p{font-size:14px;line-height:1.67;color:#465752;margin-bottom:14px}.source-note{border-top:1px solid #d7dfda;padding-top:15px;margin-top:23px;font-size:11px;color:#7b8a84}.gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.gallery-heading span{color:#7d8d86;font-size:12px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.photo-item{position:relative;min-width:0}.photo-open{border:0;padding:0;width:100%;aspect-ratio:1.22;display:block;background:#e0e7e2;overflow:hidden}.photo-open img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .22s}.photo-open:hover img{transform:scale(1.04)}.delete-photo{position:absolute;top:7px;right:7px;border:0;background:#fff;color:#a53f33;padding:7px 9px;font-size:11px;box-shadow:0 1px 6px #0003}.delete-photo:hover{background:#a53f33;color:#fff}.management{border-top:1px solid #d7dfda;margin-top:28px;padding-top:23px}.management h2{font-size:18px}.upload-button{display:inline-block;padding:11px 18px;background:#1c6459;color:#fff;font-size:13px;cursor:pointer}.upload-button:hover{background:#12483f}.upload-status{margin:12px 0 0!important;font-size:12px!important}
.lightbox{position:fixed;inset:0;z-index:10;background:#101a19ed;color:#fff;display:flex;align-items:center;justify-content:center;padding:56px 75px 63px}.lightbox img{max-width:100%;max-height:100%;object-fit:contain}.lightbox-toolbar{position:absolute;top:0;left:0;right:0;height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:12px}.lightbox button{border:0;color:#fff;background:transparent}.lightbox-toolbar button{font-size:28px;width:40px;height:40px}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);font-size:42px;width:55px;height:70px}.lightbox-arrow.prev{left:7px}.lightbox-arrow.next{right:7px}.lightbox-caption{position:absolute;bottom:17px;left:20px;right:20px;text-align:center;font-size:12px;color:#cbd7d2;overflow-wrap:anywhere}
.manage-input{display:block;width:100%;min-width:0;height:42px;border:1px solid #b6c9c3;background:#fff;color:#202c2b;padding:0 10px;margin-bottom:12px}.manage-input:focus{outline:2px solid #287c70;outline-offset:2px}.management button.upload-button{border:0}
.description-panel>.management{border-top:0;border-bottom:1px solid #d7dfda;margin:0 0 25px;padding:0 0 22px}
@media(max-width:1050px){.building-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-content{gap:30px;grid-template-columns:250px minmax(0,1fr)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.inner,.header-inner{width:min(100% - 32px,1440px)}.header-inner{min-height:72px}.header-caption{display:none}.brand-mark{width:44px;height:44px}.brand-name{font-size:11px}.admin-badge{font-size:9px;padding:6px}.intro{display:block;padding-top:35px;padding-bottom:28px}.intro h1{font-size:34px}.search-wrap{margin-top:25px}.filters-inner{min-height:55px}.filter{padding:12px 9px;font-size:12px}.result-count{display:none}.building-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}.results-area{padding-top:20px}.card-title{font-size:16px}.card-meta{margin-top:8px;font-size:10px}.detail-top{padding-top:20px}.detail-heading{display:block}.detail-heading h1{font-size:30px}.photo-count{display:block;margin-top:13px}.detail-content{display:flex;flex-direction:column;gap:35px;padding-top:26px}.description-panel{position:static}.photo-grid{gap:7px}.lightbox{padding:55px 42px 65px}.lightbox-arrow{width:40px;font-size:34px}.lightbox-arrow.prev{left:0}.lightbox-arrow.next{right:0}}
