.frontend-gallery{background:linear-gradient(#f5f8fb 0%,#fff 100%);width:100%;overflow-x:hidden}.gallery-hero{color:#fff;background:radial-gradient(circle at 82% 18%,#2ca0de33,#0000 30%),radial-gradient(circle at 12% 82%,#f47b351a,#0000 26%),linear-gradient(125deg,#061a4a 0%,#0a2b78 52%,#10499a 100%);padding:78px 0 82px;position:relative;overflow:hidden}.gallery-hero-grid{z-index:2;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:60px;display:grid;position:relative}.gallery-hero-content{max-width:800px}.gallery-eyebrow{color:#91e4ff;letter-spacing:.14em;background:#41b8eb17;border:1px solid #7eddff4d;border-radius:999px;padding:7px 13px;font-size:10px;font-weight:900;display:inline-flex}.gallery-hero h1{color:#fff;letter-spacing:-.035em;max-width:700px;margin:19px 0 0;font-size:clamp(38px,5vw,62px);font-weight:850;line-height:1.07}.gallery-hero p{color:#e7f1ffc7;max-width:680px;margin:20px 0 0;font-size:14px;line-height:1.8}.gallery-hero-visual{aspect-ratio:1;justify-self:end;width:min(100%,330px);position:relative}.gallery-visual-glow{filter:blur(5px);background:radial-gradient(circle,#3dd2ff3d,#237edb17 48%,#0000 72%);border-radius:50%;animation:4.8s ease-in-out infinite galleryGlow;position:absolute;inset:16%}.gallery-visual-frame{color:#ffffffc7;-webkit-backdrop-filter:blur(10px);background:linear-gradient(145deg,#ffffff1f,#ffffff0a);border:1px solid #ffffff2b;border-radius:18px;justify-content:center;align-items:center;width:112px;height:88px;display:flex;position:absolute;box-shadow:0 16px 34px #03143f3d,inset 0 1px #ffffff1f}.gallery-visual-frame svg{width:30px;height:30px}.gallery-frame-one{animation:5s ease-in-out infinite galleryFrameOne;top:8%;right:8%;transform:rotate(6deg)}.gallery-frame-two{animation:5.6s ease-in-out infinite galleryFrameTwo;top:39%;left:3%;transform:rotate(-7deg)}.gallery-frame-three{animation:5.2s ease-in-out infinite galleryFrameThree;bottom:5%;right:14%;transform:rotate(4deg)}.gallery-visual-core{color:#fff;background:linear-gradient(145deg,#20b9ea,#176ac9);border:1px solid #ffffff2e;border-radius:26px;justify-content:center;align-items:center;width:92px;height:92px;animation:4.4s ease-in-out infinite galleryCoreFloat;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 42px #0848a561,inset 0 1px #ffffff2b}.gallery-visual-core svg{width:39px;height:39px}.gallery-visual-dot{border-radius:50%;width:9px;height:9px;position:absolute}.gallery-dot-one{background:#65dcff;top:16%;left:20%;box-shadow:0 0 18px #65dcffd9}.gallery-dot-two{background:#ff9148;top:48%;right:6%;box-shadow:0 0 18px #ff9148c7}@keyframes galleryGlow{0%,to{opacity:.65;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}@keyframes galleryCoreFloat{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 8px))}}@keyframes galleryFrameOne{0%,to{transform:rotate(6deg)translateY(0)}50%{transform:rotate(6deg)translateY(8px)}}@keyframes galleryFrameTwo{0%,to{transform:rotate(-7deg)translateY(0)}50%{transform:rotate(-7deg)translateY(-8px)}}@keyframes galleryFrameThree{0%,to{transform:rotate(4deg)translateY(0)}50%{transform:rotate(4deg)translateY(7px)}}@media (width<=820px){.gallery-hero-grid{grid-template-columns:1fr;gap:28px}.gallery-hero-visual{justify-self:center;width:min(82vw,270px)}}@media (width<=620px){.gallery-hero{padding:58px 0 60px}.gallery-hero-visual{width:min(78vw,245px)}.gallery-visual-frame{border-radius:15px;width:92px;height:72px}.gallery-visual-core{border-radius:22px;width:78px;height:78px}.gallery-visual-core svg{width:33px;height:33px}}@media (prefers-reduced-motion:reduce){.gallery-visual-glow,.gallery-visual-frame,.gallery-visual-core{animation:none!important}}.gallery-content{padding:64px 0 84px}.gallery-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.gallery-heading span{color:#176bce;letter-spacing:.14em;font-size:9px;font-weight:900}.gallery-heading h2{color:#123852;letter-spacing:-.025em;margin:5px 0 0;font-size:clamp(28px,3vw,38px);font-weight:850}.gallery-heading small{color:#6e8797;letter-spacing:.08em;background:#fff;border:1px solid #dce6ed;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:850}.frontend-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.frontend-gallery-item{aspect-ratio:4/3;cursor:zoom-in;background:#eaf0f4;border:0;border-radius:17px;min-width:0;padding:0;position:relative;overflow:hidden;box-shadow:0 7px 22px #1238520f}.frontend-gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .35s,filter .35s;display:block}.frontend-gallery-overlay{color:#fff;opacity:0;background:linear-gradient(#0000 40%,#051b4280 100%);justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.frontend-gallery-overlay svg{filter:drop-shadow(0 3px 8px #00000040);width:27px;height:27px}.frontend-gallery-item:hover img{transform:scale(1.045)}.frontend-gallery-item:hover .frontend-gallery-overlay{opacity:1}.frontend-gallery-empty{text-align:center;color:#7d909c;background:#fff;border:1px solid #e0e8ed;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:330px;padding:30px;display:flex}.frontend-gallery-empty svg{color:#5d9fc7;width:45px;height:45px;margin-bottom:5px}.frontend-gallery-empty strong{color:#31546b;font-size:17px}.frontend-gallery-empty span{font-size:12px}.gallery-lightbox{z-index:99999;opacity:0;visibility:hidden;background:#030e23e8;justify-content:center;align-items:center;padding:40px;transition:opacity .22s,visibility .22s;display:flex;position:fixed;inset:0}.gallery-lightbox.is-open{opacity:1;visibility:visible}.gallery-lightbox img{object-fit:contain;border-radius:12px;max-width:min(1200px,92vw);max-height:88vh;display:block;box-shadow:0 25px 70px #00000059}.gallery-lightbox-close{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:43px;height:43px;font-size:27px;line-height:1;display:flex;position:absolute;top:22px;right:25px}body.gallery-lightbox-open{overflow:hidden}@media (width<=1000px){.frontend-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.gallery-hero{padding:58px 0 62px}.gallery-content{padding:48px 0 60px}.frontend-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-lightbox{padding:18px}}@media (width<=430px){.frontend-gallery-grid{grid-template-columns:1fr}}.gallery-content .frontend-container{width:min(100% - 40px,1180px);max-width:1180px}.frontend-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;display:grid}.frontend-gallery-item{aspect-ratio:4/3;width:100%;min-width:0;margin:0}.frontend-gallery-item img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=1000px){.frontend-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.gallery-content .frontend-container{width:min(100% - 28px,1180px)}.frontend-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (width<=430px){.frontend-gallery-grid{grid-template-columns:1fr}}
