/* Photographs follow the site's circular motif; full frames remain available. */
.activity-gallery{padding-top:56px;padding-bottom:64px;min-width:0}
.activity-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.activity-gallery h2{font-size:clamp(1.5rem,2.6vw,2.4rem);margin:0 0 12px;line-height:1.6}
.activity-gallery-heading p{color:#435c60;margin:0;line-height:1.9}
.activity-gallery-controls{display:flex;gap:10px;flex-shrink:0}
.activity-gallery-controls[hidden]{display:none}
.activity-gallery-controls button{width:48px;height:48px;border:1px solid #aac9c3;border-radius:50%;background:#fff;color:#174850;font-size:22px;cursor:pointer}
.activity-gallery-controls button:disabled{opacity:.35;cursor:default}
.activity-gallery-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:8px 5px 24px;scrollbar-color:#84b5ac #e5eeeb;scrollbar-width:thin}
.activity-photo{flex:0 0 clamp(210px,24vw,292px);margin:0;scroll-snap-align:start;min-width:0}
.activity-photo-open{display:block;border-radius:50%;overflow:hidden;background:var(--brand-pale,#edf6f0)}
.activity-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;filter:saturate(.88);transition:transform .5s ease,filter .5s ease}
.activity-photo-open:hover img{transform:scale(1.035);filter:saturate(1)}
.activity-photo figcaption{font-size:.85rem;line-height:1.8;color:#385359;text-align:center;padding:16px 8px 0}
.activity-gallery :focus-visible{outline:3px solid #246c76;outline-offset:4px}
.activity-lightbox{border:0;border-radius:16px;padding:22px;background:#fff;color:#173c43;width:min(1000px,92vw);max-height:90dvh;overflow:auto}
.activity-lightbox::backdrop{background:rgba(9,32,38,.82)}
.activity-lightbox figure{margin:0;display:grid;place-items:center}
.activity-lightbox img{display:block;max-width:100%;max-height:70dvh;width:auto;height:auto;object-fit:contain;border-radius:0;filter:none}
.activity-lightbox figcaption{padding:18px 0 4px;line-height:1.7}
.activity-lightbox-close{display:block;margin:0 0 16px auto;border:1px solid #97b6b3;border-radius:30px;background:#fff;color:#173c43;padding:9px 18px;font:inherit;cursor:pointer}
.liberla-community{padding-block:45px 60px}
.liberla-community-lead{max-width:770px}
.liberla-community-lead h2{font-size:clamp(1.8rem,3.7vw,3.4rem);line-height:1.6}
.liberla-community p{line-height:2}
.liberla-community-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}
.liberla-community-paths article{border-top:2px solid #9fc6b6;padding-top:18px}
.liberla-community-paths h3{font-size:1.2rem}
.liberla-community-outlook{border-left:3px solid #9fc6b6;padding-left:22px;margin-top:30px;color:#435c60}
.partnership-proof{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(200px,1fr);gap:40px;align-items:center;padding-block:40px 64px}
.partnership-proof h2{font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.6}
.partnership-proof h3{font-size:1.1rem;line-height:1.8}
.partnership-proof p{line-height:2;max-width:45em}
.partnership-proof>figure{margin:0;text-align:center}
.partnership-proof>figure img{width:245px;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}
.partnership-proof figcaption{font-size:.8rem;color:#435c60;margin-top:15px}
.partnership-proof-logo{display:inline-block;background:#fff;padding:14px;margin:14px 0 0}
.partnership-proof-logo img{display:block;width:170px;max-width:100%;height:auto;object-fit:contain;filter:none;transform:none;border-radius:0}
.partnership-consult{grid-column:1/-1;border-top:1px solid #b4cdc5;padding-top:20px}
@media(max-width:700px){.activity-gallery{padding-block:35px 45px}.activity-gallery-heading{align-items:start;gap:12px}.activity-gallery-controls{gap:6px}.activity-gallery-controls button{width:38px;height:38px}.activity-photo{flex-basis:72vw;max-width:290px}.activity-gallery-rail{gap:20px}.liberla-community-paths,.partnership-proof{grid-template-columns:1fr;gap:24px}.partnership-proof>figure{justify-self:start}.activity-lightbox{padding:15px}.activity-lightbox img{max-height:65dvh}}
@media(prefers-reduced-motion:reduce){.activity-photo img{transition:none}.activity-photo-open:hover img{transform:none}}
.motion-stopped .activity-photo img{transition:none;transform:none}
.regional-school{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;margin-block:55px;padding:32px;background:#e8f0f2;border-left:3px solid #588da0}
.regional-school h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.6;margin:12px 0}
.regional-school h3{font-size:1.15rem;margin:0 0 15px}.regional-school p{line-height:1.9}
@media(max-width:700px){.regional-school{grid-template-columns:1fr;gap:10px;padding:24px 20px}}
.large-text .regional-school{grid-template-columns:1fr}

/* One compact row at every breakpoint; the next photograph remains visible. */
.activity-gallery{overflow:hidden}
.activity-gallery-rail{flex-wrap:nowrap;scroll-padding-inline:5px}
.activity-photo{flex:0 0 clamp(210px,22vw,270px)}
.activity-photo figcaption{min-height:3.6em;padding-top:12px}
.activity-gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#45645f;font-size:.78rem;margin-top:8px}
.activity-gallery-footer p{margin:0}
.activity-gallery-footer p span{margin-left:12px}
.activity-gallery-position{font-variant-numeric:tabular-nums;letter-spacing:.1em;white-space:nowrap}
@media(max-width:700px){
 .activity-gallery-heading{display:block;margin-bottom:18px}
 .activity-gallery-heading p{font-size:.9rem;line-height:1.8}
 .activity-gallery-controls{margin-top:16px;justify-content:flex-end}
 .activity-gallery-controls button{width:40px;height:40px}
 .activity-gallery-rail{gap:16px;padding-bottom:14px}
 .activity-photo{flex:0 0 min(64vw,240px);max-width:none}
 .activity-photo figcaption{font-size:.78rem;line-height:1.7;padding:12px 2px 0}
 .activity-gallery-footer{font-size:.72rem}
}
@media(max-width:700px){
 .activity-gallery-heading{display:flex;align-items:flex-end;gap:14px}
 .activity-gallery-heading>div:first-child{min-width:0;flex:1}
 .activity-gallery-controls{margin-top:0;gap:6px}
}

/* Native horizontal scrolling remains available while autoplay is paused. */
.activity-gallery-rail.is-auto-gallery{scroll-snap-type:none;scroll-behavior:auto;overflow-anchor:none}
.activity-gallery-footer{flex-wrap:wrap}
.activity-gallery-pause{border:1px solid #aac9c3;border-radius:24px;background:#fff;color:#28544f;padding:8px 14px;font:inherit;cursor:pointer;min-height:40px}
.activity-gallery-pause:disabled{opacity:.65;cursor:default}
.activity-gallery-position{margin-left:auto}
@media(max-width:700px){.activity-gallery-pause{flex-basis:100%;justify-self:end;text-align:center}}

/* Keep the gallery focused on photographs, with compact controls above. */
.activity-gallery-rail{scrollbar-width:none;padding-bottom:8px}
.activity-gallery-rail::-webkit-scrollbar{display:none}
.activity-gallery-controls .activity-gallery-pause{flex-basis:auto;padding:0;font-size:17px;min-height:0}
@media(max-width:700px){.activity-gallery-heading{flex-wrap:wrap}.activity-gallery-heading>div:first-child{flex-basis:100%}.activity-gallery-controls{margin-left:auto}}
#gallery-service-02-title{text-wrap:balance}
@media(max-width:700px){#gallery-service-02-title{font-size:clamp(1.15rem,4.8vw,1.6rem);line-height:1.75}}

/* E4T. Liberla: an evening-club palette from the Aoharu chapter onward. */
.liberla-aoharu{position:relative;isolation:isolate;margin-top:55px;padding:32px 0 72px;color:#f6f3e9;background:radial-gradient(ellipse at 95% 8%,#af95532b,transparent 40%),radial-gradient(ellipse at 8% 65%,#598d7133,transparent 50%),linear-gradient(150deg,#172837 0%,#173b3d 50%,#31544b 100%)}
.liberla-aoharu::after{content:"";position:absolute;inset:auto 0 0;height:54px;pointer-events:none;background:linear-gradient(transparent,#edf6f0)}
.liberla-aoharu .activity-gallery{padding-top:36px;padding-bottom:56px}
.liberla-aoharu-logo{display:block;width:210px;max-width:65vw;height:auto;object-fit:contain;margin-bottom:28px;filter:none;border-radius:0}
.liberla-aoharu .activity-gallery-heading{align-items:flex-end;margin-bottom:38px;gap:32px}
.liberla-aoharu .activity-gallery h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:500;letter-spacing:.065em;color:#f6f3e9;margin-bottom:20px}
.liberla-aoharu .activity-gallery-heading p{color:#d8e3dd;max-width:38em;font-size:.95rem;line-height:2.1;text-wrap:pretty}
.liberla-aoharu .activity-gallery-controls button{background:#ffffff0f;border-color:#b6cbbd88;color:#f6f3e9}
.liberla-aoharu .activity-gallery-controls button:hover{background:#d6bc79;color:#172837;border-color:#d6bc79}
.liberla-aoharu .activity-photo-open{background:#294749;box-shadow:0 12px 35px #06151c24}
.liberla-aoharu .activity-photo img{filter:saturate(.85)}
.liberla-aoharu .brand-partnership{padding-block:48px;border-top:1px solid #abc1b64d}
.liberla-aoharu .brand-partnership h2{color:#f6f3e9;font-weight:500;line-height:1.8}
.liberla-aoharu .brand-partnership p{color:#d8e3dd;line-height:2}
.liberla-aoharu .text-link{color:#ebd29a;border-color:#b9a477}
.liberla-aoharu :focus-visible{outline-color:#ebd29a}
.liberla-aoharu .flow-trail{opacity:.55}
@media(max-width:700px){.liberla-aoharu{margin-top:35px;padding-top:15px}.liberla-aoharu-logo{width:180px;margin-bottom:24px}.liberla-aoharu .activity-gallery-heading{gap:22px;margin-bottom:24px}.liberla-aoharu .activity-gallery-heading p{font-size:.88rem}.liberla-aoharu .brand-partnership{padding-block:32px}.liberla-aoharu .brand-partnership h2{font-size:1.35rem}}

/* Each moving photograph remains a complete circle, even as it enters the row. */
.activity-gallery-rail{position:relative;padding-inline:8px;scroll-padding-inline:8px}
.activity-photo-open{aspect-ratio:1;isolation:isolate;transform-origin:center}
.activity-photo img{width:100%;height:100%;aspect-ratio:1;object-fit:cover}
.activity-gallery-rail.is-circle-gallery .activity-photo-open{transform:scale(var(--circle-scale,1));opacity:var(--circle-opacity,1)}

.activity-photo-open:focus-visible{outline:3px solid #246c76;outline-offset:-5px}
@media(prefers-reduced-motion:reduce){
 .activity-gallery-rail.is-auto-gallery{scroll-snap-type:x mandatory}
 .activity-photo{scroll-snap-align:center}
}
.motion-stopped .activity-gallery-rail.is-auto-gallery{scroll-snap-type:x mandatory}
.motion-stopped .activity-photo{scroll-snap-align:center}
