.project-gallery{background:linear-gradient(#f7f7f4,#eef1f0);padding:38px 0 105px;overflow:hidden}.project-gallery>header{justify-content:space-between;align-items:end;padding:0 clamp(24px,11vw,170px) 36px;display:flex}.project-gallery h2{font-family:var(--heading-font);max-width:760px;margin:12px 0 0;font-weight:400;line-height:1.35}.gallery-controls{gap:8px;display:flex}.gallery-controls button{border:1px solid var(--line);width:46px;height:46px;color:var(--ink);background:#ffffffb8;font-size:18px;transition:transform .3s,background .3s}.gallery-controls button:hover{background:#fff;transform:translateY(-2px)}.gallery-rail{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;perspective:1100px;gap:20px;padding:0 clamp(24px,11vw,170px) 28px;display:flex;overflow-x:auto}.gallery-rail::-webkit-scrollbar{display:none}.gallery-rail figure{scroll-snap-align:center;opacity:.84;filter:saturate(.82);flex:0 0 min(48vw,580px);margin:0;transition:transform .55s cubic-bezier(.2,.72,.2,1),opacity .45s,filter .45s;transform:scale(.94)}.gallery-rail figure:hover,.gallery-rail figure:focus-within{opacity:1;filter:saturate();z-index:2;transform:scale(1)translateY(-5px)}.gallery-rail img{aspect-ratio:4/3;object-fit:cover;background:#d7dcdd;width:100%;transition:box-shadow .45s;display:block;box-shadow:0 22px 50px #3f4a4f1f}.gallery-rail figure:hover img{box-shadow:0 28px 64px #3f4a4f33}.gallery-rail figcaption{letter-spacing:.18em;color:#78848a;padding-top:12px;font:10px/1 sans-serif}@media (max-width:620px){.project-gallery{padding:24px 0 72px}.project-gallery>header{align-items:center;padding-bottom:26px}.project-gallery h2{font-size:min(var(--gallery-size,36px),36px)!important}.gallery-controls button{width:40px;height:40px}.gallery-rail{gap:12px}.gallery-rail figure{opacity:.94;flex-basis:74vw;transform:scale(.97)}.gallery-rail img{aspect-ratio:4/3}}.gallery-rail figure{-webkit-backdrop-filter:blur(10px);background:#fafcfbb8;border:1px solid #ffffffb8;border-radius:22px;transition:transform .55s cubic-bezier(.2,.72,.2,1),opacity .45s,filter .45s,border-color .45s,box-shadow .55s;position:relative;overflow:hidden;box-shadow:0 18px 44px #3d4c541c,inset 0 0 0 1px #6a89970a}.gallery-rail img{border-radius:21px 21px 15px 15px;transition:transform .7s cubic-bezier(.2,.72,.2,1),filter .45s,box-shadow .45s}.gallery-rail figcaption{padding:13px 17px 16px}.gallery-rail figure:after{content:"";border-radius:inherit;pointer-events:none;opacity:.45;background:linear-gradient(125deg,#ffffff3d,#0000 32%,#789dae14 72%,#0000);transition:opacity .45s;position:absolute;inset:0}.gallery-rail figure:hover,.gallery-rail figure:focus-within{border-color:#7f9fae61;overflow:hidden;transform:translateY(-7px)scale(.985);box-shadow:0 28px 72px #3d515b33,0 0 0 7px #7799a90e}.gallery-rail figure:hover:after{opacity:.9}.gallery-rail figure:hover img{filter:saturate(.94)contrast(.99);border-radius:21px 21px 15px 15px;transform:scale(1.025)}@media (max-width:620px){.gallery-rail figure{-webkit-backdrop-filter:blur(6px);border-radius:17px}.gallery-rail img,.gallery-rail figure:hover img{border-radius:16px 16px 11px 11px}.gallery-rail figure:hover{transform:scale(.97);box-shadow:0 18px 44px #3d515b24}}@media (prefers-reduced-motion:reduce){.gallery-rail figure,.gallery-rail img{transition:none}.gallery-rail figure:hover,.gallery-rail figure:hover img{transform:none}}.project-gallery h2{font-size:var(--gallery-size,44px)}@media (max-width:620px){.project-gallery h2{font-size:var(--gallery-mobile-size,32px)!important}}
