[data-reveal]{will-change:transform, opacity;pointer-events:none}[data-reveal].is-revealed{pointer-events:auto}[data-reveal=fade]{opacity:0}[data-reveal=fade].is-revealed{opacity:1;transform:none}[data-reveal=fade-up]{opacity:0;transform:translateY(30px)}[data-reveal=fade-up].is-revealed{opacity:1;transform:none}[data-reveal=fade-down]{opacity:0;transform:translateY(-30px)}[data-reveal=fade-down].is-revealed{opacity:1;transform:none}[data-reveal=fade-left]{opacity:0;transform:translate(30px)}[data-reveal=fade-left].is-revealed{opacity:1;transform:none}[data-reveal=fade-right]{opacity:0;transform:translate(-30px)}[data-reveal=fade-right].is-revealed{opacity:1;transform:none}[data-reveal=zoom]{opacity:0;transform:scale(.95)}[data-reveal=zoom].is-revealed{opacity:1;transform:none}[data-reveal=flip]{opacity:0;transform:perspective(1000px)rotateX(10deg)}[data-reveal=flip].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}}[data-stagger]>*{opacity:0;will-change:transform, opacity;transform:translateY(30px)}[data-stagger]>.is-revealed{opacity:1;transform:none}[data-parallax]{will-change:transform}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.reveal-on-scroll{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.stagger-7{animation-delay:.7s}.stagger-8{animation-delay:.8s}.stagger-9{animation-delay:.9s}.stagger-10{animation-delay:1s}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.hover-lift{transition:transform .3s}.hover-lift:hover{transform:translateY(-5px)}.hover-scale{transition:transform .3s}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s}.hover-rotate:hover{transform:rotate(5deg)}.gathering-page-lead{background:var(--color-surface);padding-block:80px}.gathering-page-lead__inner{max-width:1280px;margin:0 auto;padding-inline:56px}.gathering-page-lead__grid{grid-template-columns:1fr 1fr;align-items:center;gap:72px;display:grid}.gathering-page-lead__text h2{font-family:var(--font-family-heading);color:var(--bark,var(--color-text));letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(28px,3.5vw,40px);font-weight:700;line-height:1.15}.gathering-page-lead__dates{color:var(--color-sage);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.gathering-page-lead__theme{font-size:var(--font-size-sm);color:var(--color-accent,#b8922a);margin-bottom:20px;font-style:italic;line-height:1.5}.gathering-page-lead__desc{font-size:var(--font-size-md);color:var(--color-text-subtle);line-height:1.75}.gathering-page-lead__img{border-radius:6px;width:100%;display:block}.gathering-highlights{background:var(--color-surface-alt,#f5f2ed);padding-block:72px}.gathering-highlights__inner{max-width:1000px;margin:0 auto;padding-inline:56px}.gathering-highlights__list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.gathering-highlight{align-items:flex-start;gap:16px;display:flex}.gathering-highlight__marker{background:var(--color-accent,#b8922a);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:8px}.gathering-highlight__text{font-size:var(--font-size-md);color:var(--color-text-subtle);line-height:1.7}.gathering-meta{background:var(--color-primary,#1f3b2a);padding-block:48px}.gathering-meta__inner{flex-wrap:wrap;gap:56px;max-width:1000px;margin:0 auto;padding-inline:56px;display:flex}.gathering-meta__block{flex:1;min-width:240px}.gathering-meta__label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent,#b8922a);margin-bottom:8px;font-size:11px;font-weight:700}.gathering-meta__value{font-size:var(--font-size-sm);color:#ffffffd9;line-height:1.6}.gathering-photos{background:var(--color-surface);padding-block:80px}.gathering-photos__inner{max-width:1280px;margin:0 auto;padding-inline:56px}.gathering-photos__grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.gathering-photo{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;flex-direction:column;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden}.gathering-photo.gathering-photo--hidden{display:none}.gathering-photo:hover{transform:translateY(-2px);box-shadow:0 6px 24px #1f3b2a1a}.gathering-photo:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px}.gathering-photo__img-wrap{aspect-ratio:3/2;background:var(--color-primary-900,#1f3b2a);overflow:hidden}.gathering-photo__img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.gathering-photo:hover .gathering-photo__img{transform:scale(1.04)}.gathering-photo__caption{color:var(--color-text-subtle);white-space:nowrap;text-overflow:ellipsis;padding:8px 12px;font-size:11.5px;font-style:italic;overflow:hidden}.gathering-photos__load-more{justify-content:center;margin-top:36px;display:flex}.gathering-nav-section{background:var(--color-surface-alt,#f5f2ed);border-top:1px solid var(--color-border);padding-block:56px}.gathering-nav-section__inner{max-width:1280px;margin:0 auto;padding-inline:56px}.gathering-nav-section__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.gathering-nav-section__actions .btn-outline{align-items:center;gap:6px;display:inline-flex}.photo-lightbox{z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-lightbox[hidden]{display:none}.photo-lightbox__backdrop{cursor:pointer;background:#000000e0;position:absolute;inset:0}.photo-lightbox__content{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:48px;display:flex;position:relative}.photo-lightbox__stage{flex-direction:column;align-items:center;max-width:calc(100vw - 160px);max-height:calc(100vh - 120px);display:flex}.photo-lightbox__image{object-fit:contain;border-radius:4px;max-width:100%;max-height:calc(100vh - 160px);box-shadow:0 8px 40px #0006}.photo-lightbox__caption{color:#ffffffd9;font-family:var(--font-family-body);font-size:var(--font-size-sm);text-align:center;max-width:600px;margin-top:12px;font-style:italic}.photo-lightbox__counter{color:#ffffff80;font-family:var(--font-family-body);letter-spacing:.05em;font-size:12px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.photo-lightbox__close{color:#fff;cursor:pointer;z-index:1;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:background .2s;display:flex;position:absolute;top:16px;right:16px}.photo-lightbox__close svg{width:20px;height:20px}.photo-lightbox__close:hover{background:#fff3}.photo-lightbox__nav{color:#fff;cursor:pointer;z-index:1;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.photo-lightbox__nav svg{width:24px;height:24px}.photo-lightbox__nav:hover{background:#ffffff40}.photo-lightbox__nav--prev{left:16px}.photo-lightbox__nav--next{right:16px}@media (width<=960px){.gathering-photos__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.gathering-page-lead__inner,.gathering-highlights__inner,.gathering-meta__inner,.gathering-photos__inner,.gathering-nav-section__inner{padding-inline:24px}.gathering-page-lead__grid{grid-template-columns:1fr;gap:32px}.gathering-page-lead__visual{order:-1}.gathering-photos__grid{grid-template-columns:1fr}.gathering-meta__inner{gap:32px}.photo-lightbox__content{padding:16px}.photo-lightbox__stage{max-width:calc(100vw - 32px)}.photo-lightbox__nav{width:36px;height:36px}.photo-lightbox__nav--prev{left:8px}.photo-lightbox__nav--next{right:8px}}
