.calendar-module-scss-module__zmnsjG__calendar{border:1px solid var(--color-border);background:#fffffff5;border-radius:1rem;padding:1.5rem;box-shadow:0 18px 40px #1e141614}@media (min-width:768px){.calendar-module-scss-module__zmnsjG__calendar{padding:2rem}}.calendar-module-scss-module__zmnsjG__root{--calendar-cell-size:2.85rem;--calendar-radius:.5rem;--calendar-primary:var(--color-primary);--calendar-primary-foreground:var(--color-primary-foreground);--calendar-accent:#69243a1a;--calendar-accent-strong:#d1a00029;--calendar-shadow:0 10px 24px #1e141614;width:fit-content;position:relative}@media (min-width:768px){.calendar-module-scss-module__zmnsjG__root{--calendar-cell-size:3rem}}.calendar-module-scss-module__zmnsjG__root,.calendar-module-scss-module__zmnsjG__root *{box-sizing:border-box}.calendar-module-scss-module__zmnsjG__months{flex-direction:column;gap:1rem;max-width:fit-content;display:flex;position:relative}@media (min-width:768px){.calendar-module-scss-module__zmnsjG__months{flex-direction:row}}.calendar-module-scss-module__zmnsjG__month{flex-direction:column;gap:1rem;width:100%;display:flex;position:relative}.calendar-module-scss-module__zmnsjG__nav{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0 0 auto}.calendar-module-scss-module__zmnsjG__navButton{pointer-events:auto;width:calc(var(--calendar-cell-size) - .1rem);height:calc(var(--calendar-cell-size) - .1rem);color:var(--calendar-primary);cursor:pointer;box-shadow:var(--calendar-shadow);background:#ffffffeb;border:1px solid #69243a24;border-radius:9999px;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.calendar-module-scss-module__zmnsjG__navButton:hover:not(:disabled):not([aria-disabled=true]){background:var(--calendar-primary);color:var(--calendar-primary-foreground);transform:translateY(-1px)}.calendar-module-scss-module__zmnsjG__navButton:focus-visible{box-shadow:0 0 0 3px #d1a0002e,var(--calendar-shadow);outline:none}.calendar-module-scss-module__zmnsjG__navButton:disabled,.calendar-module-scss-module__zmnsjG__navButton[aria-disabled=true]{opacity:.45;cursor:default;box-shadow:none}.calendar-module-scss-module__zmnsjG__monthCaption{min-height:var(--calendar-cell-size);padding:0 calc(var(--calendar-cell-size) + .5rem);justify-content:center;align-items:center;display:flex}.calendar-module-scss-module__zmnsjG__dropdowns{min-height:var(--calendar-cell-size);justify-content:center;align-items:center;gap:.5rem;display:inline-flex;position:relative}.calendar-module-scss-module__zmnsjG__dropdownRoot{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:.5rem;align-items:center;min-height:2.5rem;padding:0 .75rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;box-shadow:0 8px 20px #1e14160d}.calendar-module-scss-module__zmnsjG__dropdownRoot:focus-within{border-color:#d1a000e6;box-shadow:0 0 0 3px #d1a00026}.calendar-module-scss-module__zmnsjG__dropdownRoot[data-disabled=true]{opacity:.55;cursor:default}.calendar-module-scss-module__zmnsjG__dropdown{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;margin:0;position:absolute;inset:0}.calendar-module-scss-module__zmnsjG__captionLabel{color:var(--color-foreground);text-transform:capitalize;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;line-height:1;display:inline-flex}.calendar-module-scss-module__zmnsjG__monthGrid{border-collapse:separate;border-spacing:0 .5rem;table-layout:fixed;width:100%}.calendar-module-scss-module__zmnsjG__weekday,.calendar-module-scss-module__zmnsjG__weekNumberHeader{color:var(--color-muted-foreground);letter-spacing:.08em;text-align:center;text-transform:uppercase;padding-bottom:.5rem;font-size:.75rem;font-weight:600}.calendar-module-scss-module__zmnsjG__day,.calendar-module-scss-module__zmnsjG__weekNumber{width:var(--calendar-cell-size);height:var(--calendar-cell-size);text-align:center;padding:0}.calendar-module-scss-module__zmnsjG__weekNumber{color:var(--color-muted-foreground);font-size:.75rem}.calendar-module-scss-module__zmnsjG__day{position:relative}.calendar-module-scss-module__zmnsjG__dayButton{z-index:1;width:calc(var(--calendar-cell-size) - .1rem);height:calc(var(--calendar-cell-size) - .1rem);border-radius:var(--calendar-radius);color:var(--color-foreground);cursor:pointer;font:inherit;appearance:none;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:.875rem;font-weight:500;line-height:1;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.calendar-module-scss-module__zmnsjG__dayButton:hover:not(:disabled){background:var(--calendar-accent);color:var(--calendar-primary)}.calendar-module-scss-module__zmnsjG__dayButton:focus-visible{outline:none;box-shadow:0 0 0 3px #d1a0002e}.calendar-module-scss-module__zmnsjG__dayButton[data-selected-single=true]{background:var(--calendar-primary);color:var(--calendar-primary-foreground);box-shadow:0 10px 20px #69243a38}.calendar-module-scss-module__zmnsjG__dayButton[data-range-start],.calendar-module-scss-module__zmnsjG__dayButton[data-range-end]{background:var(--calendar-primary);color:var(--calendar-primary-foreground)}.calendar-module-scss-module__zmnsjG__dayButton[data-range-start]{border-radius:var(--calendar-radius)0 0 var(--calendar-radius)}.calendar-module-scss-module__zmnsjG__dayButton[data-range-end]{border-radius:0 var(--calendar-radius)var(--calendar-radius)0}.calendar-module-scss-module__zmnsjG__dayButton[data-range-middle]{color:var(--calendar-primary);background:#69243a24;border-radius:0}.calendar-module-scss-module__zmnsjG__dayButton[data-range-start][data-range-end]{border-radius:var(--calendar-radius)}.calendar-module-scss-module__zmnsjG__selected .calendar-module-scss-module__zmnsjG__dayButton{font-weight:600}.calendar-module-scss-module__zmnsjG__today .calendar-module-scss-module__zmnsjG__dayButton:not([data-selected-single=true]):not([data-range-start]):not([data-range-middle]):not([data-range-end]){background:var(--calendar-accent-strong);color:var(--calendar-primary)}.calendar-module-scss-module__zmnsjG__outside .calendar-module-scss-module__zmnsjG__dayButton:not([data-selected-single=true]):not([data-range-start]):not([data-range-middle]):not([data-range-end]){color:var(--color-muted-foreground);opacity:.55}.calendar-module-scss-module__zmnsjG__disabled .calendar-module-scss-module__zmnsjG__dayButton{opacity:.35;cursor:default}.calendar-module-scss-module__zmnsjG__hidden{visibility:hidden}.calendar-module-scss-module__zmnsjG__rangeStart{background:linear-gradient(90deg,#0000 50%,#69243a14 50%)}.calendar-module-scss-module__zmnsjG__rangeMiddle{background:#69243a14}.calendar-module-scss-module__zmnsjG__rangeEnd{background:linear-gradient(90deg,#69243a14 50%,#0000 50%)}.calendar-module-scss-module__zmnsjG__focused .calendar-module-scss-module__zmnsjG__dayButton{box-shadow:0 0 0 3px #d1a0002e}.calendar-module-scss-module__zmnsjG__chevron{color:currentColor;flex-shrink:0;width:1rem;height:1rem}.calendar-module-scss-module__zmnsjG__dropdownRoot .calendar-module-scss-module__zmnsjG__captionLabel .calendar-module-scss-module__zmnsjG__chevron{width:.95rem;height:.95rem;color:var(--color-muted-foreground)}.calendar-module-scss-module__zmnsjG__root[dir=rtl] .calendar-module-scss-module__zmnsjG__nav .calendar-module-scss-module__zmnsjG__chevron{transform:rotate(180deg)}
.gallery-mosaic__label{font-family:var(--font-geist-mono),"Courier New",monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);margin-bottom:1rem;font-size:.875rem;font-weight:500}.gallery-mosaic__divider{margin-top:1.5rem}.gallery-mosaic .section__subtitle{white-space:pre-line}.gallery-mosaic__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:.75rem;display:grid}@media (min-width:640px){.gallery-mosaic__grid{grid-auto-rows:180px;gap:1rem}}@media (min-width:768px){.gallery-mosaic__grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px}}@media (min-width:1024px){.gallery-mosaic__grid{grid-auto-rows:220px}}@media (min-width:1280px){.gallery-mosaic__grid{grid-auto-rows:250px}}.gallery-mosaic--uniform .gallery-mosaic__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;gap:1rem}@media (min-width:768px){.gallery-mosaic--uniform .gallery-mosaic__grid{grid-template-columns:repeat(3,1fr)}}.gallery-mosaic__item{cursor:pointer;background:var(--color-muted);border:none;border-radius:.5rem;grid-area:span 1/span 1;padding:0;position:relative;overflow:hidden}.gallery-mosaic--uniform .gallery-mosaic__item,.gallery-mosaic--uniform .gallery-mosaic__item--large,.gallery-mosaic--uniform .gallery-mosaic__item--tall,.gallery-mosaic--uniform .gallery-mosaic__item--wide,.gallery-mosaic--uniform .gallery-mosaic__item--small,.gallery-mosaic--uniform .gallery-mosaic__item--uniform{aspect-ratio:4/3;grid-area:span 1/span 1}.gallery-mosaic__item--large{grid-area:span 2/span 2}.gallery-mosaic__item--tall{grid-area:span 2/span 1}.gallery-mosaic__item--wide{grid-area:span 1/span 2}.gallery-mosaic__item--small{grid-area:span 1/span 1}@media (max-width:767px){.gallery-mosaic--mosaic .gallery-mosaic__item--large,.gallery-mosaic--mosaic .gallery-mosaic__item--tall,.gallery-mosaic--mosaic .gallery-mosaic__item--wide{grid-area:span 1/span 1}}.gallery-mosaic__item-image{object-fit:cover;width:100%;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1)}.gallery-mosaic__item-image *{transform:scale(1.001)}.gallery-mosaic__item:hover .gallery-mosaic__item-image{transform:scale(1.08)}.gallery-mosaic__item-overlay{pointer-events:none;background:linear-gradient(#0000 60%,#00000080 100%);position:absolute;inset:0}.gallery-mosaic__item-hover{opacity:0;background:linear-gradient(135deg,#5a102899,#f0c75e66);justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.gallery-mosaic__item:hover .gallery-mosaic__item-hover{opacity:1}.gallery-mosaic__item-icon{width:3rem;height:3rem;color:var(--color-warm)}.gallery-mosaic__item-icon svg{width:100%;height:100%}.gallery-mosaic__item--large .gallery-mosaic__item-icon{width:4rem;height:4rem}.gallery-mosaic__item-title-wrap{z-index:10;padding:.75rem;position:absolute;bottom:0;left:0;right:0}@media (min-width:768px){.gallery-mosaic__item-title-wrap{padding:1rem}}.gallery-mosaic__item-title{color:var(--color-white);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;font-weight:500;display:-webkit-box;overflow:hidden}.gallery-mosaic__item--large .gallery-mosaic__item-title{font-size:1rem}@media (min-width:768px){.gallery-mosaic__item--large .gallery-mosaic__item-title{font-size:1.125rem}}
.gallery__header{text-align:center;margin-bottom:3rem}.gallery__label{font-family:var(--font-geist-mono),"Courier New",monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);margin-bottom:1rem;font-size:.875rem;font-weight:500}.gallery__title{color:var(--color-foreground);margin-bottom:1rem;font-size:1.875rem;font-weight:700}@media (min-width:768px){.gallery__title{font-size:2.25rem}}.gallery__subtitle{color:var(--color-muted-foreground);max-width:600px;margin:0 auto 1.5rem;font-size:1.125rem}.gallery__divider{margin-top:1.5rem}.gallery__filter{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.gallery__filter-btn{color:var(--color-muted-foreground);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:9999px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.gallery__filter-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.gallery__filter-btn--active{color:var(--color-primary-foreground);background:var(--color-primary);border-color:var(--color-primary)}.gallery__grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (min-width:768px){.gallery__grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.gallery__grid{grid-template-columns:repeat(4,1fr)}}.gallery__item{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:0;position:relative;overflow:hidden}.gallery__item-image{object-fit:cover;width:100%;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1)}.gallery__item:hover .gallery__item-image{transform:scale(1.1)}.gallery__item-overlay{background:linear-gradient(#0000 50%,#00000080 100%);position:absolute;inset:0}.gallery__item-hover{opacity:0;background:linear-gradient(135deg,#5a102899,#f0c75e66);justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.gallery__item:hover .gallery__item-hover{opacity:1}.gallery__item-icon{width:3rem;height:3rem;color:var(--color-warm)}.gallery__item-icon svg{width:100%;height:100%}.gallery__item-title-wrap{padding:1rem;position:absolute;bottom:0;left:0;right:0}.gallery__item-title{color:var(--color-white);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;font-weight:500;display:-webkit-box;overflow:hidden}.lightbox{z-index:50;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox__btn{z-index:10;width:3rem;height:3rem;color:var(--color-white);cursor:pointer;background:#ffffff1a;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute}.lightbox__btn:hover{background:#fff3}.lightbox__btn svg{width:1.5rem;height:1.5rem}.lightbox__btn--close{top:1rem;right:1rem}.lightbox__btn--prev{top:50%;left:1rem;transform:translateY(-50%)}.lightbox__btn--next{top:50%;right:1rem;transform:translateY(-50%)}.lightbox__image-wrap{width:90vw;max-width:1400px;height:80vh;position:relative}.lightbox__image{object-fit:contain}.lightbox__caption{background:linear-gradient(#0000,#000c);padding:1.5rem;position:absolute;bottom:0;left:0;right:0}.lightbox__caption-inner{text-align:center;max-width:800px;margin:0 auto}.lightbox__caption-title{color:var(--color-white);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.lightbox__caption-desc{color:#fffc;font-size:1rem}.lightbox__counter{color:#ffffffb3;font-size:.875rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}
