/* Public Places: small HTML-first listings; media remains on demand. */
.places-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.places-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.place-listing{min-width:0;border:1px solid var(--border,#d3cec2);border-radius:1rem;overflow:hidden;background:var(--paper,#faf7ef)}.place-image{display:block;background:#e4e7de;aspect-ratio:4/3;overflow:hidden}.place-image img{width:100%;height:100%;object-fit:cover}.place-card-copy{padding:1.25rem}.place-card-copy h3{margin:.3rem 0 .7rem}.place-card-copy p{margin:.4rem 0 1rem}.place-card-copy .caption{font-size:.95rem}.place-availability{font-size:.95rem;color:#3b5753}.place-mode-link{display:block;margin-top:.75rem}.place-awaiting-photo{background:#e0e7de;color:#254b42;display:flex;min-height:15rem;padding:2rem;align-items:center;justify-content:center;flex-direction:column;font:1.5rem/1.4 Georgia,serif}.place-filters{border:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.place-filters legend{font-size:.9rem;margin-bottom:.5rem}.place-filters button{border:1px solid #839b91;border-radius:2rem;padding:.55rem 1rem;font:inherit;color:#184e42;background:transparent;cursor:pointer}.place-filters [aria-pressed=true]{background:#184e42;color:#fff}.place-listing[hidden]{display:none}.places-directory>section{padding-top:2rem}.place-heading{margin:1rem 0 1.5rem}.place-heading p{margin:.6rem 0}.place-detail>nav{font-size:.95rem}.place-detail .place-media{border:0;padding:0 0 1rem}.place-modes{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}.place-modes button{font:inherit;cursor:pointer}.place-modes [aria-pressed=true]{background:#184e42;color:#fff}.place-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:.5rem;max-height:38rem;overflow:hidden;border-radius:1rem;aspect-ratio:2/1}.place-photo{padding:0;border:0;cursor:zoom-in;overflow:hidden;background:#e0e7de;min-height:0}.place-photo:first-child{grid-row:1/3}.place-photo img{height:100%;width:100%;object-fit:cover}.place-mosaic[data-photo-count="1"]{display:block;aspect-ratio:16/9;max-height:40rem}.place-mosaic[data-photo-count="1"] .place-photo{width:100%;height:100%}.place-mosaic[data-photo-count="2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.place-mosaic[data-photo-count="2"] .place-photo:first-child{grid-row:auto}.place-mosaic[data-photo-count="3"],.place-mosaic[data-photo-count="4"]{grid-template-columns:2fr 1fr}.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.place-media video{display:block;width:100%;max-height:70vh;background:#142e29}.place-room-list{border:1px solid #b3c1b5;border-radius:.75rem;padding:1rem;margin-top:1rem}.place-room-list summary{cursor:pointer;font-weight:600}.place-room-list dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.place-room-list dt{font-weight:600;text-transform:capitalize}.place-room-list dd{margin:.3rem 0}.place-layout img{display:block;width:100%;max-height:45rem;object-fit:contain}.place-residents{display:grid;gap:1.5rem}.place-resident{display:flex;gap:1.5rem;border:1px solid #b3c1b5;border-radius:1rem;padding:1.25rem}.place-resident img{flex-shrink:0;object-fit:cover;border-radius:.5rem;align-self:flex-start}.place-resident h3{margin-top:0}.place-lightbox{width:min(96vw,90rem);height:min(95dvh,70rem);max-width:none;max-height:95dvh;border:0;border-radius:1rem;padding:1rem;background:#f6f2e9;color:#182f29;overflow:auto}.place-lightbox::backdrop{background:#10221fed}.lightbox-toolbar,.lightbox-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem}.place-lightbox figure{margin:1rem 0;text-align:center}.place-lightbox figure img{max-height:65dvh;max-width:100%;object-fit:contain}.place-lightbox figcaption{padding:.5rem}.lightbox-thumbnails{display:flex;gap:.5rem;overflow:auto;padding:.75rem 0}.lightbox-thumbnails button{padding:3px;border:2px solid transparent;flex:0 0 6rem;background:transparent;cursor:pointer}.lightbox-thumbnails button[aria-current=true]{border-color:#184e42}.lightbox-thumbnails img{width:100%;height:4rem;object-fit:cover}.place-lightbox button{cursor:pointer;font:inherit}.place-lightbox [disabled]{opacity:.4;cursor:default}.place-detail :focus-visible,.places-directory :focus-visible,.places-preview :focus-visible{outline:3px solid #ac4a20;outline-offset:4px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.place-detail [hidden]{display:none!important}
@media(max-width:65rem){.places-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.places-preview-grid .place-listing:last-child{grid-column:1/-1;max-width:36rem}.place-detail .lead{font-size:1.2rem}}
@media(max-width:40rem){.places-grid,.places-preview-grid{grid-template-columns:1fr;gap:1.25rem}.places-preview-grid .place-listing:last-child{grid-column:auto;max-width:none}.place-card-copy{padding:1rem}.place-mosaic{display:block;aspect-ratio:4/3!important}.place-mosaic .place-photo{display:none;width:100%;height:100%}.place-mosaic .place-photo:first-child{display:block}.place-room-list dl{grid-template-columns:1fr}.place-resident{gap:1rem;padding:1rem;flex-wrap:wrap}.place-resident img{width:80px;height:100px}.place-lightbox{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;padding:.75rem}.place-lightbox figure img{max-height:63dvh}.place-modes .action{padding:.6rem .75rem}.place-heading .action{display:inline-flex}}
@media(prefers-reduced-motion:reduce){.place-detail *{scroll-behavior:auto!important;transition:none!important}}

.places-page .page-heading{padding-block:1rem .25rem}.places-page .page-heading h1{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.15}.places-directory .directory-intro{margin-block:.5rem 1rem;max-width:45rem}
@media(max-width:40rem){.place-filters{display:flex;flex-wrap:nowrap;overflow:auto;padding-block:.25rem .6rem;margin-block:1rem;scrollbar-width:thin}.place-filters button{flex-shrink:0}.place-filters legend{margin-bottom:.25rem}.places-page .page-heading h1{font-size:2rem}.place-heading .lead{font-size:1.05rem}}

.place-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-bottom:2rem}.place-highlights h3{text-transform:capitalize;font-size:1.25rem}.place-highlights p{font-size:1rem;line-height:1.6}@media(max-width:40rem){.place-highlights{grid-template-columns:1fr;gap:.5rem}}

.place-level-picker{display:flex;gap:1rem;align-items:center;margin-block:1rem}.place-level-picker select{font:inherit;color:#184e42;background:#faf7ef;border:1px solid #839b91;border-radius:.5rem;padding:.6rem}

.place-image picture,.place-photo picture{display:block;width:100%;height:100%}
.place-media video{aspect-ratio:16/9;object-fit:contain}

.film-poster{position:relative;aspect-ratio:16/9;background:#142e29}.film-poster img{width:100%;height:100%;object-fit:contain}.film-poster button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:inherit;white-space:nowrap;cursor:pointer;box-shadow:0 2px 18px #10221f88}
