.gallery-page{min-height:100vh}.gallery-intro{padding-top:76px;padding-bottom:44px}.gallery-intro .eyebrow{margin-bottom:12px}.gallery-intro h1{font-size:clamp(34px,5vw,58px);line-height:1.2;letter-spacing:.035em;margin:0}.gallery-lead{max-width:790px;color:#4f5a53;font-size:15px;line-height:1.95;margin:22px 0 8px}.gallery-caution{font-size:12px;color:#758078;margin:0}.gallery-back-link{display:inline-block;margin-top:22px;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:6px}.gallery-browser{padding-top:16px;padding-bottom:95px}.gallery-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.gallery-search{display:flex;flex-direction:column;gap:6px;min-width:min(320px,100%);font-size:11px;color:#58645d}.gallery-search input{height:42px;border:1px solid #c6c6bc;background:#fbfaf7;padding:0 12px;color:var(--ink);font:inherit;font-size:13px}.gallery-search input:focus-visible,.gallery-filter:focus-visible,.dialog-controls button:focus-visible,.dialog-close:focus-visible,.gallery-card:focus-visible{outline:3px solid #df704d;outline-offset:2px}.gallery-filters{display:flex;gap:7px;flex-wrap:wrap}.gallery-filter{border:1px solid #c5c6bc;background:transparent;color:#48534c;padding:9px 13px;font:inherit;font-size:11px;cursor:pointer}.gallery-filter:hover,.gallery-filter.is-active{background:var(--ink);border-color:var(--ink);color:#f3f0e9}.gallery-count{font-size:12px;color:#69736c;margin:18px 0 14px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-card{display:block;text-align:left;padding:0;border:1px solid rgba(24,35,33,.12);background:#ebe8e0;color:var(--ink);cursor:pointer;min-width:0;transition:transform .2s,border-color .2s}.gallery-card:hover{transform:translateY(-3px);border-color:#a9816c}.gallery-card[hidden]{display:none}.gallery-card-media{display:block;width:100%;aspect-ratio:4/3;background:#e2dfd7;overflow:hidden}.gallery-card-media img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.gallery-card:hover .gallery-card-media img{transform:scale(1.025)}.gallery-card-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:11px}.gallery-card-caption span:last-child{color:#b96849;font-size:17px}.gallery-empty{padding:40px 0;text-align:center;color:#65706a;font-size:13px}.gallery-dialog{width:min(1050px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px rgba(0,0,0,.36);overflow:auto}.gallery-dialog::backdrop{background:rgba(12,20,18,.8)}.dialog-shell{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.8fr);min-height:480px}.dialog-close{position:absolute;right:13px;top:11px;z-index:2;width:40px;height:40px;border:1px solid rgba(24,35,33,.25);background:rgba(243,240,233,.94);color:var(--ink);font-size:26px;line-height:1;cursor:pointer}.dialog-photo-wrap{min-height:480px;background:#e2dfd7;display:grid;place-items:center}.dialog-photo-wrap img{width:100%;height:100%;max-height:calc(100dvh - 32px);object-fit:contain}.dialog-copy{display:flex;flex-direction:column;align-items:flex-start;padding:58px 34px 28px}.dialog-copy .eyebrow{margin-bottom:13px}.dialog-copy h2{font-size:clamp(25px,3vw,35px);line-height:1.3;margin:0 0 18px}.dialog-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#58645c;margin:0 0 15px}.dialog-copy .dialog-note{font-size:11px!important;color:#727c74!important;padding-top:12px;border-top:1px solid var(--line)}.dialog-call{display:inline-flex;justify-content:space-between;align-items:center;gap:18px;background:var(--ink);color:#fff;padding:13px 16px;font-size:13px;margin-top:4px}.dialog-call span{color:#ed9b78}.dialog-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:24px}.dialog-controls button{border:1px solid #bfc1b7;background:transparent;color:var(--ink);padding:8px 10px;font:inherit;font-size:11px;cursor:pointer}.dialog-controls button:disabled{opacity:.45;cursor:default}.dialog-controls span{font-size:11px;color:#6c766e}.gallery-page .site-footer{margin-top:0}
.photo-library-link{display:inline-flex;align-items:center;gap:14px;margin-top:17px;padding-bottom:7px;border-bottom:1px solid var(--ink);font-size:12px}.photo-library-link span{color:var(--accent)}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-tools{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:640px){.gallery-intro{padding-top:52px;padding-bottom:32px}.gallery-lead{font-size:13px;margin-top:16px}.gallery-browser{padding-top:10px;padding-bottom:64px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-card-caption{font-size:10px;padding:8px 9px}.gallery-filter{padding:8px 11px}.gallery-search{width:100%}.dialog-shell{grid-template-columns:1fr}.dialog-photo-wrap{min-height:0;height:min(46vh,390px)}.dialog-copy{padding:28px 22px 22px}.dialog-copy h2{font-size:27px}.dialog-close{right:9px;top:9px;width:36px;height:36px}.dialog-controls{padding-top:18px}}
@media(prefers-reduced-motion:reduce){.gallery-card,.gallery-card-media img{transition:none!important}}

.dialog-social{display:inline-flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 16px;margin-top:8px;border:1px solid var(--ink);font-size:12px}.dialog-social span{color:var(--accent)}.dialog-social:hover{border-color:var(--accent);color:#9a624d}

.gallery-card-caption{align-items:flex-start;min-height:54px}
.gallery-card-caption>span:first-child{flex:1;line-height:1.55}
.gallery-card-caption>span:last-child{flex:0 0 auto}
@media(max-width:640px){.gallery-card-caption{min-height:56px;align-items:flex-start}.gallery-card-caption>span:first-child{line-height:1.5}}
