.photo-category{display:block;color:var(--green);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:5px}.photo-description{display:block;font-size:13px;line-height:1.55;color:var(--ink);margin-bottom:7px}.community-photo .photo-credit{display:block;font-size:10px;color:var(--muted)}.photo-card .photo-description,.photo-hero .photo-description{font-size:12px}.photo-card .photo-category{font-size:9px}.photo-heading .eyebrow{margin-bottom:10px}.photo-heading{align-items:center}.photo-heading .pill{white-space:nowrap}.photo-note{max-width:850px;margin-bottom:20px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid var(--line);padding:20px 0}.gallery-toolbar label{font-size:12px;font-weight:700}.gallery-toolbar select{display:block;margin-top:6px;min-width:250px;max-width:100%;border:1px solid #b9c4b0;border-radius:8px;padding:10px 35px 10px 12px;background:var(--white);color:var(--ink)}.gallery-toolbar p{margin-bottom:11px}.property-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-gallery{background:var(--white);border:1px solid var(--line);border-radius:13px;overflow:hidden}.photo-gallery figcaption{padding:15px}.photo-gallery .photo-link{position:relative;border-radius:0;aspect-ratio:3/2;background:#e5e9df}.photo-enlarge{position:absolute;right:10px;bottom:10px;border-radius:5px;background:rgba(255,254,250,.94);padding:4px 9px;font-size:11px;color:var(--ink)}.gallery-more{margin-top:22px}.photo-viewer{padding:20px;border:0;border-radius:15px;background:var(--paper);color:var(--ink);width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}.photo-viewer::backdrop{background:rgba(12,25,19,.88)}.viewer-top{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:15px}.viewer-close{padding:8px 15px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink)}.viewer-image-wrap{display:flex;align-items:center;justify-content:center;min-height:180px;background:#e5e9df;border-radius:8px;overflow:hidden}.viewer-image-wrap img{width:100%;height:min(58dvh,620px);object-fit:contain}.viewer-image-wrap p{padding:30px}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:17px}.viewer-bottom p{margin:0 0 5px;font-size:15px}.viewer-bottom .photo-credit{display:block;font-size:11px;color:var(--muted)}.viewer-nav{display:flex;gap:9px;flex-shrink:0}.viewer-nav button{width:46px;height:46px;background:var(--green);color:white;border:0;border-radius:50%;font-size:23px}.viewer-nav button:disabled{opacity:.4;cursor:default}.photo-viewer-open{overflow:hidden}@media(max-width:900px){.property-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media(max-width:560px){.property-photo-grid{grid-template-columns:1fr}.gallery-toolbar{display:block}.gallery-toolbar select{width:100%;min-width:0}.gallery-toolbar p{margin:12px 0 0}.photo-heading{gap:12px}.photo-heading h2{font-size:27px}.photo-viewer{padding:14px}.viewer-bottom{align-items:start;flex-wrap:wrap;gap:14px}.viewer-image-wrap img{height:45dvh}.photo-description{font-size:14px}}

/* Card photo sliders: only the selected photo loads. */
.card-photo-stage{position:relative}.card-photo-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(33,76,61,.15);border-radius:50%;background:rgba(255,254,250,.96);color:#214c3d;box-shadow:0 2px 10px rgba(0,0,0,.18);cursor:pointer;font:32px/1 Georgia,serif}.card-photo-arrow:hover{background:#214c3d;color:#fff}.card-photo-arrow:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px #214c3d}.card-photo-prev{left:10px}.card-photo-next{right:10px}.card-photo-count{position:absolute;right:12px;bottom:12px;border-radius:20px;padding:5px 10px;background:rgba(18,40,31,.85);color:#fff;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}.card-all-photos{display:inline-block;margin-top:9px;color:var(--green);font-size:11px;font-weight:700;text-underline-offset:3px}.card-carousel .photo-description{min-height:3.1em}.card-carousel .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

