/* Gallery in the approved Maven Pro / #996515 café design. */
.gallery-page{background:#fff}.gallery-page .brand-row{min-height:86px}.gallery-page .site-nav,.gallery-page .site-nav a{min-height:49px}.gallery-page .eyebrow{font-size:12px;letter-spacing:.08em}.gallery-page .breadcrumb{padding:19px 0 16px}.gallery-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;padding:0 0 23px}.gallery-intro h1{font-size:42px;line-height:1.13;margin:9px 0 0}.gallery-intro h1 span{color:var(--brand)}.gallery-intro>p{font-size:14px;line-height:1.8;color:var(--muted);max-width:390px}.gallery-jumps{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 23px;border-bottom:1px solid var(--line)}.gallery-jumps a{display:flex;align-items:center;gap:18px;padding:9px 14px;border:1px solid var(--line);border-radius:5px;font-size:13px;min-height:44px;background:var(--paper)}.gallery-jumps a:hover{border-color:#c8ad82;background:var(--wash);color:var(--brand)}.gallery-jumps span{font-size:11px;color:var(--brand)}.gallery-section{padding:29px 0 31px;scroll-margin-top:24px}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:18px}.gallery-heading h2{font-size:30px;line-height:1.2;margin-top:7px}.gallery-heading>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:405px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.photo-grid figure{margin:0;min-width:0;position:relative}.photo-link{position:relative;display:block;overflow:hidden;border-radius:7px;background:var(--paper);aspect-ratio:1.48}.photo-link img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-link:hover img{transform:scale(1.025)}.photo-zoom{position:absolute;right:11px;bottom:11px;display:grid;place-items:center;width:33px;height:33px;background:#fffdf8f5;color:var(--brand);border-radius:50%;border:1px solid #fff9;transition:background .2s}.photo-zoom svg{width:17px;height:17px;stroke-width:1.6}.photo-link:hover .photo-zoom{background:white}.photo-grid figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:7px}.photo-grid--cafe{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,215px);gap:13px}.photo-grid--cafe figure:first-child{grid-column:span 2;grid-row:span 2}.photo-grid--cafe .photo-link{height:100%;aspect-ratio:auto}.photo-grid--cafe figcaption{position:absolute;bottom:0;left:0;right:0;color:#fff;margin:0;padding:28px 12px 10px;background:linear-gradient(transparent,#24190aca);border-radius:0 0 7px 7px;pointer-events:none}.photo-grid--cafe .photo-zoom{bottom:10px;z-index:1}.photo-grid--cafe figcaption{padding-right:52px}.photo-grid--cafe figure:first-child img{object-position:45% 50%}.photo-grid--cafe figure:first-child figcaption{font-size:14px;padding:34px 17px 14px}.photo-grid--cafe figure:first-child .photo-zoom{bottom:14px;right:14px}.photo-grid--cafe figure[data-portrait] img{object-fit:contain;background:#eee9e0}.gallery-section+.gallery-section{border-top:1px solid var(--line)}.photo-grid--play{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-grid--play .photo-link{aspect-ratio:1.5}.photo-grid--play figure[data-id="play-children-drive"] img{object-position:50% 39%}.photo-grid--events{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-grid--events .photo-link{aspect-ratio:.91}.photo-grid--events figure[data-id="event-133"] img{object-position:50% 35%}.origins{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.origins summary{display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;list-style:none;padding:4px 0}.origins summary::-webkit-details-marker{display:none}.origins summary h2{font-size:26px;margin:6px 0 0}.origins-action{display:flex;align-items:center;gap:12px;color:var(--brand);font-size:12px}.origins-action svg{width:19px;height:19px}.origins[open] .origins-action svg{transform:rotate(180deg)}.origins .gallery-heading{margin:22px 0 18px}.origins .gallery-heading>p{max-width:620px}.photo-grid--origins .photo-link{aspect-ratio:1.5}.photo-grid--origins img{object-fit:contain}.gallery-invitation{display:flex;align-items:center;gap:30px;padding:27px 0 31px}.gallery-invitation>img{width:54px;flex-shrink:0}.gallery-invitation h2{font-size:29px;margin-bottom:7px}.gallery-invitation p{font-size:13px;color:var(--muted)}.gallery-invitation .button{margin-left:auto;white-space:nowrap}.gallery-page .site-footer{margin-top:0}.gallery-hint{font-size:11px;color:var(--muted);margin-top:13px}.gallery-hint span{color:var(--brand)}
/* Native modal keeps focus inside and provides a static, keyboard-friendly viewer. */
.photo-viewer{width:min(1060px,calc(100% - 40px));max-width:none;height:min(820px,calc(100dvh - 36px));max-height:calc(100dvh - 36px);padding:17px 22px 15px;border-radius:9px;border-color:#ded3c3;overflow:hidden}.photo-viewer::backdrop{background:#241b14e8}.viewer-layout{display:flex;flex-direction:column;height:100%;min-height:0}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0}.viewer-top h2{font-size:19px;letter-spacing:-.02em;margin:0}.viewer-close{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font-size:12px;color:var(--ink);display:flex;align-items:center;gap:8px;justify-content:center;padding:8px 12px}.viewer-close svg{width:17px;height:17px}.viewer-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;margin:13px 0;background:var(--paper);border-radius:5px;overflow:hidden}.viewer-stage>img{width:100%;height:100%;min-height:0;object-fit:contain}.viewer-stage[aria-busy="true"]{opacity:.7}.viewer-error{position:absolute;bottom:12px;left:12px;right:12px;padding:12px;border:1px solid var(--line);background:#fffdf8;font-size:13px}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-shrink:0}.viewer-caption{font-size:13px;color:var(--ink);margin:0}.viewer-count{display:block;font-size:11px;color:var(--muted);margin-top:3px}.viewer-arrows{display:flex;gap:8px}.viewer-arrows button{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--brand)}.viewer-arrows svg{width:19px;height:19px}.viewer-arrows button:hover,.viewer-close:hover{background:var(--wash)}
@media(min-width:1500px){.photo-grid--cafe{grid-template-rows:repeat(2,230px)}}
@media(max-width:820px){.gallery-intro{gap:25px}.gallery-intro h1{font-size:35px}.gallery-intro>p{max-width:300px;font-size:13px}.gallery-heading h2{font-size:27px}.gallery-heading>p{max-width:290px;font-size:12px}.photo-grid--cafe{grid-template-rows:repeat(2,170px)}.photo-grid{gap:11px}.photo-grid--events{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid--events .photo-link{aspect-ratio:1.3}.gallery-invitation{gap:20px}.gallery-invitation h2{font-size:25px}}
@media(max-width:580px){.gallery-page .brand-row{min-height:81px}.gallery-page .site-nav a{min-height:43px}.gallery-page .breadcrumb{padding:18px 0 16px}.gallery-intro{display:block;padding-bottom:19px}.gallery-intro h1{font-size:34px;margin-top:9px}.gallery-intro>p{font-size:14px;max-width:none;margin-top:14px}.gallery-page .eyebrow{font-size:12px}.gallery-jumps{gap:8px;padding-bottom:21px}.gallery-jumps a{font-size:12px;gap:10px;padding:8px 11px}.gallery-jumps span{font-size:10px}.gallery-section{padding:24px 0}.gallery-heading{display:block;margin-bottom:17px}.gallery-heading h2{font-size:28px}.gallery-heading>p{max-width:none;font-size:13px;margin-top:12px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px}.photo-grid--cafe{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:205px 174px 174px;gap:10px}.photo-grid--cafe figure:first-child{grid-column:1/-1;grid-row:span 1}.photo-grid--cafe figure:first-child img{object-position:50% 50%}.photo-grid--cafe figcaption{font-size:10px;padding:23px 38px 8px 8px;line-height:1.5}.photo-grid--cafe figure:first-child figcaption{font-size:13px}.photo-zoom{width:29px;height:29px;bottom:8px;right:7px}.photo-grid--cafe .photo-zoom{bottom:8px;right:7px}.photo-grid--cafe .photo-zoom svg{width:15px;height:15px}.photo-grid--play .photo-link{aspect-ratio:1.1}.photo-grid--garden{grid-template-columns:1fr 1fr}.photo-grid--garden figure:first-child{grid-column:1/-1}.photo-grid--garden figure:first-child .photo-link{aspect-ratio:1.7}.photo-grid--garden .photo-link{aspect-ratio:1.1}.photo-grid--events .photo-link{aspect-ratio:.93}.photo-grid figcaption{font-size:11px;margin-top:6px}.photo-grid--cafe figcaption{margin-top:0}.origins{padding:21px 0}.origins summary{align-items:flex-start;gap:16px}.origins summary h2{font-size:24px;max-width:210px}.origins-action{font-size:0;gap:0;min-height:44px;min-width:44px;justify-content:center;border:1px solid var(--line);border-radius:5px}.origins-action svg{width:20px;height:20px}.photo-grid--origins{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-grid--origins .photo-link{aspect-ratio:.7}.photo-grid--origins figcaption{font-size:10px}.photo-grid--origins .photo-zoom{width:25px;height:25px;right:5px;bottom:5px}.photo-grid--origins .photo-zoom svg{width:13px;height:13px}.gallery-invitation{flex-wrap:wrap;padding:25px 0 29px;gap:15px 18px}.gallery-invitation>div{flex:1}.gallery-invitation>img{width:43px}.gallery-invitation h2{font-size:25px}.gallery-invitation p{font-size:13px}.gallery-invitation .button{margin-left:0}.photo-viewer{width:calc(100% - 18px);height:calc(100dvh - 18px);max-height:calc(100dvh - 18px);padding:12px;border-radius:7px}.viewer-top h2{font-size:17px}.viewer-close{padding:8px;gap:5px}.viewer-close span{display:none}.viewer-stage{margin:11px 0}.viewer-bottom{gap:12px;align-items:flex-end}.viewer-caption{font-size:12px}.viewer-count{font-size:10px}.viewer-arrows{gap:6px}.viewer-arrows button{min-width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.photo-link img,.photo-zoom{transition:none}.photo-link:hover img{transform:none}}
