@layer organisms{.gallery-grid{display:grid;gap:var(--spacing-1);grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;margin-block:0;max-height:min(520px,60vh)}.gallery-grid,.gallery-grid__item{border-radius:var(--radius);overflow:hidden}.gallery-grid__item{background:var(--color-surface);cursor:pointer;height:100%;position:relative}.gallery-grid__item:first-child{grid-column:1;grid-row:1/span 2}.gallery-grid__item:nth-child(2){grid-column:2;grid-row:1}.gallery-grid__item:nth-child(3){grid-column:2;grid-row:2}.gallery-grid__item:nth-child(4){grid-column:3;grid-row:1}.gallery-grid__item:nth-child(5){grid-column:3;grid-row:2}.gallery-grid__item img{display:block;height:100%;object-fit:cover;transition:transform var(--motion-breathe) var(--ease-out);width:100%}.gallery-grid__item:focus-visible img,.gallery-grid__item:hover img{transform:scale(1.05)}.gallery-grid__item:focus-visible{box-shadow:var(--focus-ring)}.gallery-grid__open-pill{align-items:center;backdrop-filter:blur(4px);background:#000000b3;border:none;border-radius:var(--radius);bottom:var(--spacing-3);color:var(--color-background);cursor:pointer;display:none;font-size:var(--text-sm);font-weight:var(--font-weight-normal);gap:var(--spacing-1);left:var(--spacing-3);line-height:var(--leading-none);padding:var(--spacing-2) var(--spacing-3);position:absolute;transition:background var(--motion-hover),transform var(--motion-hover);z-index:2}.gallery-grid__open-pill:focus-visible,.gallery-grid__open-pill:hover{background:#000000d1;box-shadow:var(--focus-ring);transform:translateY(-1px)}.gallery-grid__open-pill svg{flex-shrink:0;height:16px;width:16px}.gallery-grid__overlay{align-items:center;background:#000000a6;color:var(--color-background);display:flex;font-size:var(--text-lg);font-weight:var(--font-weight-normal);inset:0;justify-content:center;letter-spacing:var(--tracking-02em);position:absolute;transition:background var(--motion-fast) var(--ease-out)}.gallery-grid__overlay:hover{background:#000000b3}.gallery-grid__play-icon{align-items:center;background:#0003;display:flex;inset:0;justify-content:center;position:absolute;transition:background var(--motion-fast) var(--ease-out)}.gallery-grid__play-icon:hover{background:#00000059}.gallery-grid__play-icon svg{filter:drop-shadow(0 2px 8px rgb(0 0 0/.3));height:48px;opacity:.9;transition:transform var(--motion-fast) var(--ease-out),opacity var(--motion-fast) var(--ease-out);width:48px}.gallery-grid__play-icon:hover svg{opacity:1;transform:scale(1.08)}.gallery-grid__video-fallback{align-items:center;background:var(--color-surface);color:var(--color-muted-foreground);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--spacing-2);height:100%;justify-content:center;width:100%}.gallery-grid__video-fallback svg{height:40px;opacity:.5;width:40px}.gallery-grid__item{animation:gallery-item-enter .4s var(--ease-out) both}.gallery-grid__item:nth-child(2){animation-delay:.05s}.gallery-grid__item:nth-child(3){animation-delay:.1s}@keyframes gallery-item-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.gallery-grid__item img,.gallery-grid__overlay,.gallery-grid__play-icon svg{transition:none}.gallery-grid__item{animation:none}}}@layer utilities{@media (max-height:600px) and (orientation:landscape),(max-width:767px){.gallery-grid{display:block;max-height:none;position:relative}.gallery-grid__item{display:none}.gallery-grid__item:first-child{aspect-ratio:4/3;display:block}.gallery-grid__overlay{display:none}.gallery-grid__open-pill{display:inline-flex}}@media (min-width:768px){.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;max-height:min(520px,60vh)}.gallery-grid__item:first-child{grid-column:1;grid-row:1/span 2}.gallery-grid__item:nth-child(2){grid-column:2;grid-row:1}.gallery-grid__item:nth-child(3){grid-column:2;grid-row:2}.gallery-grid__item:nth-child(4){grid-column:3;grid-row:1}.gallery-grid__item:nth-child(5){grid-column:3;grid-row:2}}}@layer organisms{.lightbox{--lb-animation-duration:var(--motion-breathe,300ms);--lb-content-padding-top:max(64px,env(safe-area-inset-top));--lb-content-padding-bottom:max(32px,env(safe-area-inset-bottom));--lb-content-padding-left:max(72px,env(safe-area-inset-left));--lb-content-padding-right:max(72px,env(safe-area-inset-right));--lb-slide-gap:24px;--lb-content-bg:#0000;--lb-content-radius:0;--lb-close-size:clamp(40px,8vw,52px);align-items:center;background:#fff;display:flex;inset:0;justify-content:center;opacity:0;overflow:hidden;position:fixed;transition:opacity var(--lb-animation-duration) var(--ease-out),visibility var(--lb-animation-duration) var(--ease-out);visibility:hidden;z-index:var(--z-lightbox)}.lightbox.is-open{opacity:1;visibility:visible}.lightbox__content{box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;height:100dvh;max-height:none;max-width:none;padding:var(--lb-content-padding-top) var(--lb-content-padding-right) var(--lb-content-padding-bottom) var(--lb-content-padding-left)}.lightbox__content,.lightbox__media{min-height:0;position:relative;width:100%}.lightbox__media{align-items:center;background:var(--lb-content-bg);display:flex;justify-content:center;min-width:0;overflow:hidden}.lightbox__media,.lightbox__media img{border-radius:var(--radius);height:100%}.lightbox__media img{display:block;object-fit:contain;width:100%}.lightbox__media iframe{border:none}.lightbox__media iframe,.lightbox__media video{aspect-ratio:16/9;display:block;max-width:960px;width:80vw}.lightbox__media video{background:var(--color-foreground);border-radius:var(--radius);max-height:calc(100vh - 140px);object-fit:contain}.lightbox__caption{background:#0000009e;border-radius:var(--radius);bottom:16px;color:#ffffffe6;font-size:var(--text-sm);font-weight:var(--font-weight-regular);letter-spacing:var(--tracking-01em);max-width:min(80%,calc(100% - 32px));overflow:hidden;padding:4px 12px;pointer-events:none;position:absolute;text-align:center;text-overflow:ellipsis;top:auto;white-space:nowrap;z-index:10}.lightbox__caption,.lightbox__content>.lightbox__caption{left:50%;right:auto;transform:translateX(-50%)}.lightbox__next,.lightbox__prev{align-items:center;background:#ffffffb8;border:none;border-radius:var(--radius);color:var(--color-primary-600);cursor:pointer;display:flex;height:clamp(40px,9vw,56px);justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:color var(--motion-focus),background var(--motion-focus),opacity var(--motion-focus);width:clamp(40px,9vw,56px);z-index:10}.lightbox__next:hover,.lightbox__prev:hover{color:var(--color-primary-700);opacity:.8}.lightbox__next:focus-visible,.lightbox__prev:focus-visible{box-shadow:var(--focus-ring);outline:none}.lightbox__prev{left:max(var(--spacing-4),env(safe-area-inset-left))}.lightbox__next{right:max(var(--spacing-4),env(safe-area-inset-right))}.lightbox__next svg,.lightbox__prev svg{height:clamp(20px,5vw,28px);width:clamp(20px,5vw,28px)}.lightbox__back{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;color:var(--color-primary-600);cursor:pointer;display:flex;height:var(--lb-close-size);justify-content:center;left:max(var(--spacing-4),env(safe-area-inset-left));position:absolute;top:max(var(--spacing-4),env(safe-area-inset-top));transition:color var(--motion-fast) var(--ease-out),opacity var(--motion-fast) var(--ease-out);width:var(--lb-close-size);z-index:10}.lightbox__back:hover{color:var(--color-primary-700);opacity:.8}.lightbox__back:focus-visible{box-shadow:var(--focus-ring);outline:none}.lightbox__back svg{height:clamp(18px,4.5vw,24px);width:clamp(18px,4.5vw,24px)}.lightbox__counter{left:max(var(--spacing-4),env(safe-area-inset-left))!important;top:calc(max(var(--spacing-4), env(safe-area-inset-top)) + var(--lb-close-size) + var(--spacing-2))!important;transform:none;clip:auto!important;background:#0000;border-radius:0;box-shadow:none;clip-path:none!important;color:var(--color-primary-600);font-size:clamp(var(--text-xs),3.5vw,var(--text-lg));font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-04em);line-height:var(--leading-snug);margin:0!important;min-width:1ch;padding:0;pointer-events:none;z-index:30}.lightbox.is-open .lightbox__counter,.lightbox__counter{display:inline-block!important;height:auto!important;overflow:visible!important;position:fixed!important;width:auto!important}.lightbox.is-open .lightbox__counter{color:var(--color-primary-600)!important;opacity:1!important;visibility:visible!important;z-index:30!important}.lightbox__status{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.lightbox__media[data-loading] img{opacity:.4;transition:opacity var(--motion-fast) var(--ease-out)}.lightbox__media[data-loading]:after{animation:lightbox-spin .7s linear infinite;border:2px solid #0000001f;border-radius:var(--radius-full);border-top:2px solid var(--color-primary-600);content:"";height:32px;position:absolute;width:32px}@keyframes lightbox-spin{to{transform:rotate(1turn)}}.lightbox__toolbar{display:flex;flex-direction:row;gap:var(--spacing-1);position:absolute;right:calc(max(var(--spacing-4), env(safe-area-inset-right)) + var(--lb-close-size) + var(--spacing-2));top:max(var(--spacing-4),env(safe-area-inset-top));z-index:10}.lightbox__toolbar button{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;color:var(--color-primary-600);cursor:pointer;display:flex;height:clamp(36px,7vw,44px);justify-content:center;transition:color var(--motion-fast) var(--ease-out),opacity var(--motion-fast) var(--ease-out);width:clamp(36px,7vw,44px)}.lightbox__toolbar button:hover{color:var(--color-primary-700);opacity:.8}.lightbox__toolbar button:focus-visible{box-shadow:var(--focus-ring);outline:none}.lightbox__toolbar button svg{height:clamp(16px,4vw,20px);width:clamp(16px,4vw,20px)}@media (max-width:767px){.lightbox__content{--lb-content-padding-top:max(56px,env(safe-area-inset-top));--lb-content-padding-bottom:max(16px,env(safe-area-inset-bottom));--lb-content-padding-left:max(16px,env(safe-area-inset-left));--lb-content-padding-right:max(16px,env(safe-area-inset-right))}.lightbox__media iframe,.lightbox__media video{max-width:100%;width:90vw}.lightbox__media video{max-height:60vh}.lightbox__prev{left:max(var(--spacing-2),env(safe-area-inset-left))}.lightbox__next{right:max(var(--spacing-2),env(safe-area-inset-right))}.lightbox__toolbar{gap:var(--spacing-1);right:calc(max(var(--spacing-2), env(safe-area-inset-right)) + var(--lb-close-size) + var(--spacing-1));top:max(var(--spacing-4),env(safe-area-inset-top))}}@media (pointer:coarse){.lightbox{--lb-close-size:max(clamp(40px,8vw,52px),44px)}.lightbox__back,.lightbox__next,.lightbox__prev,.lightbox__toolbar button{min-height:44px;min-width:44px}}@media (max-width:767px) and (orientation:landscape){.lightbox__content{--lb-content-padding-top:max(48px,env(safe-area-inset-top));--lb-content-padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media (prefers-contrast:more){.lightbox{background:#fffffffa}.lightbox__media{border:1px solid #0003}}@media (prefers-reduced-motion:reduce){.lightbox{--lb-animation-duration:0.01ms}.lightbox,.lightbox__toolbar button{transition:none}.lightbox__media[data-loading]:after{animation:none;transition:none}}}