.location-section{background-color:var(--color-bg);font-family:var(--font-outfit);padding:10rem 20px 4rem;position:relative}.location-header{text-align:center;margin-bottom:60px;max-width:750px;margin-inline:auto}.location-subtitle{color:var(--color-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;font-size:.875rem;font-weight:700;display:block}.location-title{color:var(--color-text-main);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:900;line-height:1.1}.location-title span{color:var(--color-primary)}.location-description{color:var(--color-muted);margin:0;font-size:1.125rem;line-height:1.6}.location-wrapper{box-sizing:border-box;flex-direction:column;gap:24px;max-width:1200px;margin:0 auto;display:flex}.location-group{width:100%}.location-item{background-color:var(--color-surface);border-radius:12px;position:relative;overflow:hidden}.location-item:after{content:"";opacity:0;pointer-events:none;z-index:1;background-color:#0006;width:100%;height:100%;transition:opacity .6s;position:absolute;top:0;left:0}.location-item:hover:after{opacity:1}.location-item-overlay{color:var(--white);z-index:2;background:linear-gradient(#0000,#162b11d9);padding:24px;transition:padding-bottom .4s;position:absolute;bottom:0;left:0;right:0}.location-item:hover .location-item-overlay{padding-bottom:30px}.location-overlay-content{align-items:center;gap:10px;display:flex}.location-icon{color:var(--color-primary);font-size:1.1rem}.location-overlay-content h3{letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:1.25rem;font-weight:700}.location-item img{object-fit:cover;aspect-ratio:1;width:100%;height:100%;transition:transform 1s,filter 1s;display:block;position:relative;box-shadow:0 4px 10px #00000014}.location-item:hover img{transform:scale(1.05)}.location-group.group1{grid-template-columns:1fr;display:grid}.location-group.group1 .item-1{grid-column:1/-1}.location-group.group1 .item-1 img{aspect-ratio:3;height:auto}.location-group.group2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.location-group.group2 img{aspect-ratio:1;height:auto}.location-group.group3a{grid-template-columns:1fr 1fr;gap:24px;display:grid}.location-group.group3a .item-1{grid-column:1/-1}.location-group.group3a .item-1 img{aspect-ratio:3;height:auto}.location-group.group3a .item-2 img,.location-group.group3a .item-3 img{aspect-ratio:1;height:auto}.location-group.group3b{grid-template-columns:1fr 1fr;gap:24px;display:grid}.location-group.group3b .item-1{grid-area:2/1/auto/-1}.location-group.group3b .item-2{grid-area:1/1/auto/2}.location-group.group3b .item-3{grid-area:1/2/auto/3}.location-group.group3b .item-1 img{aspect-ratio:3;height:auto}.location-group.group3b .item-2 img,.location-group.group3b .item-3 img{aspect-ratio:1;height:auto}.location-group.group4a{grid-template-columns:repeat(3,1fr);grid-auto-rows:150px;gap:24px;min-height:300px;display:grid}.location-group.group4a .item-1{grid-area:span 2/1}.location-group.group4a .item-2{grid-area:span 3/2/auto/span 2}.location-group.group4a .item-3{grid-area:span 3/1}.location-group.group4a .item-4{grid-area:span 2/2/auto/span 2}.location-group.group4b{grid-template-columns:1fr 1fr 1fr;grid-auto-rows:150px;gap:16px;min-height:300px;display:grid}.location-group.group4b .item-1{grid-area:span 2/1/auto/span 2}.location-group.group4b .item-2{grid-area:span 3/3}.location-group.group4b .item-3{grid-area:span 3/1/auto/span 2}.location-group.group4b .item-4{grid-area:span 2/3}@media (max-width:768px){.location-section{padding:10rem 16px 5rem}.location-wrapper{gap:12px}.location-group.group2,.location-group.group3a,.location-group.group3b{gap:16px}.location-group.group4a,.location-group.group4b{min-height:unset;grid-template-columns:1fr 1fr;grid-auto-rows:120px;gap:12px}.location-group.group4a .item-1{grid-area:span 2/1}.location-group.group4a .item-2{grid-area:span 3/2}.location-group.group4a .item-3{grid-area:span 3/1}.location-group.group4a .item-4{grid-area:span 2/2}.location-group.group4b .item-1{grid-area:span 2/1}.location-group.group4b .item-2{grid-area:span 3/2}.location-group.group4b .item-3{grid-area:span 3/1}.location-group.group4b .item-4{grid-area:span 2/2}}@media (max-width:500px){.location-section{padding:10rem 16px 5rem}.location-wrapper{gap:10px}.location-title{font-size:2rem}.location-group.group2,.location-group.group3a,.location-group.group3b{gap:12px}.location-group.group4a,.location-group.group4b{grid-auto-rows:100px;gap:10px}.location-item img{box-shadow:0 2px 6px #0000000f}.location-item-overlay{padding:16px}.location-overlay-content h3{font-size:1rem}}
