/* Full-frame owner photographs and keyboard-accessible detail-page galleries. */
.home-slider .academy-real-photo .hero-photo{height:450px;width:100%;object-fit:contain;background:#e7eadf}
.home-slider .venue-hero-visual .photo-frame{background:#e7eadf}
.venue-peek{background:#edf1e8}.venue-peek-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.venue-peek-card{display:block;border:1px solid #d1dccb;background:var(--cream);min-width:0}.venue-peek-card picture{display:block;background:#e0e7da}.venue-peek-card img{width:100%;height:340px;object-fit:contain;display:block}.venue-peek-card>div{padding:25px 28px}.venue-peek-card .eyebrow{font-size:9px;margin-bottom:13px}.venue-peek-card h3{font-family:var(--serif);font-weight:400;font-size:31px;line-height:1.3}.venue-peek-card p{font-size:13px;color:var(--teal);margin-top:18px;display:flex;align-items:center;justify-content:space-between}.venue-peek-card small{display:block;font-size:10px;color:var(--muted);margin-top:15px;line-height:1.8}
.venue-gallery{padding-block:65px;border-bottom:1px solid var(--line)}.venue-gallery .section-head h2{font-size:43px}.venue-gallery .section-head>p{max-width:350px;font-size:13px}.venue-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.venue-photo{margin:0;min-width:0;border:1px solid #d1dccb;background:#f5f5ed}.gallery-open{display:block;position:relative}.gallery-open picture{display:block;background:#e4eadd}.gallery-open img{display:block;width:100%;height:280px;object-fit:contain}.photo-expand{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;font-size:11px;color:var(--teal);border-top:1px solid #d1dccb;background:#eef2e7}.gallery-open:hover .photo-expand{background:#dde8d6}.venue-photo figcaption{font-size:12px;line-height:1.8;color:var(--muted);padding:15px 18px}.gallery-help{font-size:11px;color:var(--muted);margin-top:22px}.gallery-jump{display:inline-flex;margin:18px 0 0 20px;gap:6px;white-space:normal}
.photo-viewer{width:min(1080px,calc(100% - 28px));max-width:1080px;max-height:calc(100dvh - 28px);padding:18px 22px;background:#faf8f2;border:1px solid #b7c7b5;border-radius:10px;overflow:auto;color:var(--ink)}.photo-viewer::backdrop{background:#062e2ceb;backdrop-filter:blur(3px)}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.photo-viewer .viewer-toolbar h2{font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:0;line-height:1.6;margin:0}.viewer-close,.viewer-prev,.viewer-next{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border:1px solid #bfccb9;background:#f0f2e7;border-radius:50%;color:var(--ink);padding:0}.viewer-close:hover,.viewer-prev:hover,.viewer-next:hover{background:#dde8d6}.viewer-image-stage{height:min(66dvh,660px);background:#e5eadf;display:flex;align-items:center;justify-content:center;border-radius:5px;overflow:hidden}.viewer-image{display:block;width:100%;height:100%;object-fit:contain}.viewer-footer{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:18px;align-items:center;margin-top:14px}.photo-viewer .viewer-caption{margin:0;padding:0;font-size:12px;line-height:1.8;color:var(--muted);text-align:center}
@media(max-width:1000px){.venue-gallery-grid{gap:16px}.gallery-open img{height:240px}.venue-peek-grid{gap:22px}.gallery-jump{margin-left:0;display:flex;width:max-content;max-width:100%}.venue-photo figcaption{padding:13px;font-size:11px}.photo-expand{padding:11px 13px}}
@media(max-width:760px){.home-slider .academy-real-photo .hero-photo{height:380px}.venue-peek-grid{grid-template-columns:1fr;gap:24px}.venue-peek-card img{height:330px}.venue-peek-card>div{padding:23px}.venue-peek-card h3{font-size:29px}.venue-gallery{padding-block:45px}.venue-gallery .section-head h2{font-size:36px}.venue-gallery-grid{grid-template-columns:1fr;gap:22px}.gallery-open img{height:300px}.venue-photo figcaption{font-size:12px;padding:15px 18px}.photo-expand{padding:12px 18px;font-size:12px}.photo-viewer{padding:14px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.viewer-image-stage{height:60dvh}.viewer-footer{gap:10px}.photo-viewer .viewer-caption{font-size:11px}.viewer-toolbar{gap:10px}.photo-viewer .viewer-toolbar h2{font-size:13px}}
@media(prefers-reduced-motion:reduce){.photo-viewer::backdrop{backdrop-filter:none}}
/* Compact photo albums: natural image proportions, no descriptive card panels. */
.home-slider .wisdom-real-photo .hero-photo{height:450px;width:100%;object-fit:contain;background:#e7eadf}
.venue-gallery--album .venue-gallery-grid{display:block;column-count:4;column-gap:14px}
.venue-gallery--album .album-photo{break-inside:avoid;margin:0 0 14px;border:0;border-radius:7px;overflow:hidden;background:#e4eadd;position:relative}
.venue-gallery--album .gallery-open{display:block;position:relative;line-height:0}
.venue-gallery--album .gallery-open img{width:100%;height:auto;display:block;object-fit:contain}
.venue-gallery--album .album-expand{position:absolute;right:10px;bottom:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#faf8f2eb;color:var(--deep);border:1px solid #ffffff88;border-radius:50%;opacity:0;transition:opacity .15s}
.venue-gallery--album a:hover .album-expand,.venue-gallery--album a:focus-visible .album-expand{opacity:1}
.venue-gallery--album .album-photo:focus-within{outline:3px solid #b88836;outline-offset:3px}
.venue-gallery--album .album-photo a:focus-visible{outline:0}
.venue-gallery--album figcaption.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.venue-gallery--album .section-head{margin-bottom:30px}
@media(max-width:1100px){.venue-gallery--album .venue-gallery-grid{column-count:3;column-gap:12px}.venue-gallery--album .album-photo{margin-bottom:12px}}
@media(max-width:600px){.venue-gallery--album .venue-gallery-grid{column-count:2;column-gap:10px}.venue-gallery--album .album-photo{margin-bottom:10px;border-radius:5px}.venue-gallery--album .album-expand{right:7px;bottom:7px;width:28px;height:28px}.venue-gallery--album .section-head h2{font-size:34px}.venue-gallery--album .section-head>p{font-size:12px}.home-slider .wisdom-real-photo .hero-photo{height:380px}}
@media(hover:none){.venue-gallery--album .album-expand{opacity:1}}
