@charset "UTF-8";.gallery-page{width:100%;color:var(--color-default)}.gallery-hero,.gallery-cabinet-section{background:var(--glass-background);border:1px solid var(--color-card-border);box-shadow:var(--shadow-card);backdrop-filter:blur(18px)saturate(1.28);-webkit-backdrop-filter:blur(18px)saturate(1.28)}.gallery-hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr)minmax(300px,1.1fr);gap:28px;min-height:330px;margin-bottom:24px;padding:30px;border-radius:8px;overflow:hidden;isolation:isolate;animation:gallery-rise .62s cubic-bezier(.2,.8,.2,1)both}.gallery-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 0 36%,rgba(255,255,255,.36) 48%,transparent 58%),radial-gradient(circle at 16% 18%,rgba(66,133,244,.2),transparent 32%),radial-gradient(circle at 82% 14%,rgba(255,181,148,.16),transparent 28%);transform:translateX(-12%);animation:gallery-glass-sweep 7s ease-in-out infinite alternate}.gallery-hero-glass{display:flex;flex-direction:column;justify-content:center;max-width:520px}.gallery-kicker{color:var(--red-1);font-size:12px;font-weight:800;line-height:1;letter-spacing:0;text-transform:uppercase}.gallery-hero h2,.gallery-section-head h2{margin:12px 0 0;color:var(--color-link);font-size:34px;line-height:1.12;letter-spacing:0}.gallery-hero p{max-width:460px;margin:18px 0 0;color:var(--color-text-muted);font-size:15px;line-height:1.8}.gallery-hero-preview{position:relative;min-height:270px}.gallery-preview-frame{position:absolute;display:block;width:42%;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--color-card-border);border-radius:8px;background:var(--color-surface);box-shadow:var(--shadow-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:gallery-float 5.2s ease-in-out infinite}.gallery-preview-frame:nth-child(1){top:5%;left:2%;transform:rotate(-5deg)}.gallery-preview-frame:nth-child(2){top:22%;left:31%;z-index:2;transform:rotate(3deg);animation-delay:.55s}.gallery-preview-frame:nth-child(3){top:4%;right:0;transform:rotate(7deg);animation-delay:1.1s}.gallery-preview-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}.gallery-cabinet-section{padding:24px;border-radius:8px;animation:gallery-rise .68s .08s cubic-bezier(.2,.8,.2,1)both}.gallery-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--color-card-border)}.gallery-count{flex-shrink:0;padding:8px 14px;border:1px solid var(--color-card-border);border-radius:999px;background:var(--color-surface);color:var(--color-link);font-size:13px;font-weight:800}.gallery-cabinet{column-count:4;column-gap:18px}@media screen and (max-width:959px){.gallery-cabinet{column-count:3}}@media screen and (max-width:767px){.gallery-cabinet{column-count:2;column-gap:12px}}@media screen and (max-width:479px){.gallery-cabinet{column-count:1}}.gallery-frame{--pointer-x:50%;--pointer-y:50%;position:relative;display:block;width:100%;margin:0 0 18px;padding:0;border:1px solid var(--color-card-border);border-radius:8px;background:var(--color-wrap);overflow:hidden;box-shadow:var(--shadow-card);isolation:isolate;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease}@media screen and (max-width:767px){.gallery-frame{margin-bottom:12px}}.gallery-frame:hover{border-color:rgba(161,194,250,.9);box-shadow:var(--shadow-card-hover);transform:translateY(-6px)}.gallery-pswp{position:relative;display:block;width:100%;color:inherit;text-decoration:none}.gallery-pswp::after{content:"";position:absolute;inset:0;z-index:2;border:1px solid rgba(255,255,255,.46);border-radius:6px;margin:10px;pointer-events:none;transition:opacity .3s ease}.gallery-frame img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .58s cubic-bezier(.2,.8,.2,1),filter .58s ease}.gallery-frame:hover img{filter:saturate(1.08)contrast(1.02);transform:scale(1.06)}.gallery-frame img.lazyload:not(.lazyloaded){min-height:120px;background:var(--color-surface-muted)}.gallery-frame-shine{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(255,255,255,.32),transparent 26%);opacity:0;pointer-events:none;transition:opacity .24s ease}.gallery-frame:hover .gallery-frame-shine{opacity:1}.gallery-frame-caption{position:absolute;right:0;bottom:0;left:0;z-index:3;padding:54px 14px 14px;background:linear-gradient(to top,rgba(8,16,31,.72),rgba(8,16,31,0)),linear-gradient(to right,rgba(66,133,244,.2),rgba(255,181,148,.12));color:#fff;text-align:left;transform:translateY(6px);opacity:.82;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .32s ease}.gallery-frame:hover .gallery-frame-caption{transform:translateY(0);opacity:1}.gallery-frame-caption strong,.gallery-frame-caption span{display:block}.gallery-frame-caption strong{font-size:16px;line-height:1.35}.gallery-frame-caption span{margin-top:4px;color:rgba(255,255,255,.74);font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery-empty{padding:32px 16px;border:1px dashed var(--red-3);border-radius:8px;color:var(--color-text-muted);text-align:center}@media screen and (max-width:959px){.gallery-hero{grid-template-columns:1fr}.gallery-hero-preview{min-height:230px}}@media screen and (max-width:767px){.gallery-hero,.gallery-cabinet-section{padding:18px}.gallery-hero h2,.gallery-section-head h2{font-size:28px}.gallery-preview-frame{width:48%}}@keyframes gallery-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes gallery-float{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes gallery-glass-sweep{from{transform:translateX(-18%)}to{transform:translateX(10%)}}@media(prefers-reduced-motion:reduce){.gallery-hero,.gallery-cabinet-section{animation:none}.gallery-hero::before{animation:none}.gallery-preview-frame{animation:none}.gallery-frame,.gallery-frame img,.gallery-frame-caption{transition:none}.gallery-frame:hover{transform:none}.gallery-frame:hover img{transform:none}}body.gallery-viewing .pswp__bg{background:radial-gradient(ellipse at 50% 18%,rgba(80,92,120,.42),transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(10,12,20,.7),transparent 60%),#08090d}.pswp__frame-overlay{position:fixed;z-index:50;box-sizing:border-box;pointer-events:none;opacity:0;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(200,168,96,.9),0 0 0 12px #efe6cf,0 0 0 13px rgba(150,120,60,.55),0 0 0 28px #3a2c1c,0 0 0 29px rgba(200,168,96,.85),0 34px 78px rgba(0,0,0,.68),0 12px 28px rgba(0,0,0,.45);transition:opacity .3s ease}.pswp__frame-overlay.is-visible{opacity:1}.pswp__wall-label{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);z-index:100;width:min(640px,86%);margin:0;padding:18px 26px;border-radius:6px;background:rgba(20,22,30,.42);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)saturate(1.1);-webkit-backdrop-filter:blur(14px)saturate(1.1);color:#e8ecf4;text-align:center;pointer-events:none;opacity:0;animation:pswp-label-rise .5s .12s cubic-bezier(.2,.8,.2,1)forwards}.pswp__wall-label-title{font-family:Georgia,times new roman,noto serif sc,source han serif sc,serif;font-size:19px;font-weight:600;line-height:1.4;letter-spacing:.02em;color:#f4f6fb;text-shadow:0 1px 2px rgba(0,0,0,.5)}.pswp__wall-label-title::after{content:"";display:block;width:32px;height:1px;margin:9px auto 0;background:linear-gradient(to right,transparent,rgba(255,255,255,.45),transparent)}.pswp__wall-label-desc{margin-top:8px;font-size:13px;line-height:1.7;color:rgba(232,236,244,.72)}.pswp__wall-label.is-updated{animation:pswp-label-rise .42s cubic-bezier(.2,.8,.2,1)both}@media screen and (max-width:767px){.pswp__wall-label{bottom:5%;padding:14px 18px;width:90%}.pswp__wall-label-title{font-size:16px}.pswp__wall-label-desc{font-size:12px}}@keyframes pswp-label-rise{from{opacity:0;transform:translateX(-50%)translateY(12px)}to{opacity:1;transform:translateX(-50%)translateY(0)}}@media(prefers-reduced-motion:reduce){.pswp__wall-label{animation:none;opacity:1}}