/* Shared photo viewer, profile gallery, and home photo preview. */
.gallery-hint{font-size:11px;color:var(--muted);margin:-15px 0 24px}
.gallery-group-title{font-size:27px;margin:28px 0 24px}
.ombara-gallery+.gallery-group-title{margin-top:50px}
.ombara-gallery{display:block;columns:3;column-gap:24px}
.ombara-gallery figure{break-inside:avoid;margin:0 0 28px}
.gallery-photo{display:block;position:relative;overflow:hidden;background:#e7dfd1}
.ombara-gallery .gallery-photo img{height:auto;width:100%}
.gallery-photo:hover .gallery-expand{background:var(--brand-orange)}
.gallery-expand{position:absolute;right:14px;bottom:14px;width:34px;height:34px;display:grid;place-items:center;background:var(--paper);color:var(--ink);border-radius:50%;font-size:20px;box-shadow:0 2px 12px #0002}
.gallery-photo:focus-visible{outline-offset:4px}
.ombara-gallery figcaption{line-height:1.6;margin-top:13px;gap:12px}
.gallery-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#gallery-dialog{width:calc(100% - 32px);max-width:1100px;background:#171c19;color:#fff6ec;max-height:calc(100dvh - 32px)}
#gallery-dialog::backdrop{background:#101612e8}
.gallery-viewer{position:relative;padding:56px 24px 20px}
.gallery-close{color:#fff6ec;top:8px;right:14px;width:44px;height:44px}
.gallery-full-photo{margin:0}
#gallery-full-image{height:auto;width:auto;max-width:100%;max-height:min(65dvh,760px);object-fit:contain;margin:auto}
#gallery-full-caption{text-align:center;font-size:13px;padding:17px 0 10px;min-height:48px;line-height:1.6}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #ffffff30;padding-top:13px}
.gallery-controls button{display:flex;align-items:center;gap:14px;min-height:44px;border:1px solid #ffffff50;background:transparent;color:inherit;padding:8px 16px;font-size:12px}
.gallery-controls button:hover{background:#ffffff15}
#gallery-count{font-size:11px;letter-spacing:2px;white-space:nowrap}

/* Bring the profile gallery into the first part of the page. */
.profile-page .profile-intro{padding-top:30px;padding-bottom:34px}
.profile-page .profile-back{margin-bottom:22px}
.profile-page .profile-intro h1{font-size:clamp(44px,5vw,70px);margin:18px 0 24px}
.profile-page .profile-wide-photo{height:350px}
.profile-page .profile-sessions{max-width:none;padding:52px 5%;background:var(--olive);color:var(--paper);border-top:0}
.profile-sessions .section-heading{margin-bottom:32px}
.profile-sessions .section-intro,.profile-sessions .gallery-hint,.profile-sessions .ombara-gallery figcaption{color:#d7cebf}
.profile-sessions .ombara-gallery figcaption>span:first-child{color:#ffae74}
.profile-sessions .lesson-video-link{color:var(--paper);border-color:#d7cebf}
.profile-gallery-cta{flex-shrink:0}
.hero-gallery-link{margin-top:15px;font-size:10px}

/* A compact, clickable selection appears just below the home introduction. */
.home-moments{padding:55px 4.4% 60px;border-bottom:1px solid var(--line)}
.home-moments .section-heading{align-items:center;margin-bottom:26px;gap:30px}
.home-moments h2{font-size:clamp(36px,3.7vw,52px);margin:13px 0}
.home-moments .section-heading>.text-link{flex-shrink:0}
.home-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.home-photo-grid .gallery-photo{aspect-ratio:4/5}
.home-photo-grid .gallery-photo img{height:100%;width:100%;object-fit:cover}
.home-photo-grid figure:nth-child(1) img{object-position:40% 50%}
.home-photo-grid figure:nth-child(3) img{object-position:50% 58%}
.home-photo-grid figure:nth-child(4) img{object-position:48% 50%}
.home-photo-grid figcaption{font-size:11px;line-height:1.6;gap:10px}
.home-gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}
.home-gallery-footer p{font-size:12px;color:var(--muted);max-width:540px;margin:0;line-height:1.85}
.home-gallery-footer .button{flex-shrink:0}
@media(max-width:800px){.ombara-gallery{column-gap:18px}.ombara-gallery figcaption{font-size:10px;gap:8px}}
@media(max-width:600px){.ombara-gallery{columns:2;column-gap:14px}.ombara-gallery figure{margin-bottom:22px}.ombara-gallery figcaption{font-size:11px;gap:8px;align-items:flex-start}.gallery-group-title{font-size:25px}.gallery-expand{right:8px;bottom:8px;width:26px;height:26px;font-size:16px}.gallery-hint{font-size:10px;margin-top:-10px}.gallery-viewer{padding:53px 14px 14px}#gallery-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}#gallery-full-image{max-height:58dvh}#gallery-full-caption{font-size:12px}.gallery-controls button{font-size:11px;padding:8px 10px;gap:8px}.gallery-controls{gap:8px}.gallery-close{right:7px;top:4px}}
@media(max-width:800px){.home-photo-grid{gap:14px}.home-photo-grid figcaption{font-size:10px}.profile-intro-bottom{gap:24px}.profile-gallery-cta{padding:14px 18px;gap:18px;font-size:11px}}
@media(max-width:600px){.profile-page .profile-intro{padding:24px 7% 32px}.profile-page .profile-back{margin-bottom:20px}.profile-page .profile-intro h1{font-size:43px}.profile-gallery-cta{margin-top:23px}.profile-page .profile-wide-photo{height:260px}.profile-page .profile-sessions{padding:38px 7% 48px}.profile-sessions .section-heading{margin-bottom:25px}.profile-sessions h2{font-size:39px}.home-moments{padding:40px 7% 45px}.home-moments .section-heading{display:block;margin-bottom:25px}.home-moments h2{font-size:38px;line-height:1.2}.home-moments .section-heading>.text-link{margin-top:15px}.home-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.home-photo-grid figcaption{font-size:10px;gap:7px;align-items:flex-start}.home-gallery-footer{display:block;margin-top:24px}.home-gallery-footer p{font-size:11px}.home-gallery-footer .button{margin-top:20px}.hero-gallery-link{font-size:10px;padding:7px 0;min-height:33px}}
