.locations-section {
    padding-top: 52px;
    scroll-margin-top: 25px;
}

.locations-heading {
    margin-bottom: 20px;
    text-align: center;
}

.locations-heading span {
    color: #35d9e8;
    font: 11px 'DM Mono', monospace;
    letter-spacing: 1.4px;
}

.locations-heading h2 {
    margin: 7px 0 0;
    color: #fff;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    letter-spacing: -.8px;
}

.locations-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.location-tile {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 145px;
    padding: 26px;
    border: 1px solid rgba(53, 217, 232, .3);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(13, 42, 51, .96), rgba(8, 28, 37, .96));
    box-shadow: 0 17px 38px rgba(0, 0, 0, .23);
    transition: .22s;
}

.location-tile:hover {
    border-color: rgba(50, 209, 87, .55);
    transform: translateY(-4px);
    box-shadow: 0 23px 42px rgba(0, 0, 0, .31);
}

.location-tile i {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 14px;
    color: #071922;
    background: linear-gradient(135deg, #35d9e8, #75e998);
    font-size: 1.35rem;
}

.location-tile h3 {
    margin: 0 0 7px;
    color: #effaf3;
    font-size: 1.05rem;
}

.location-tile p {
    margin: 0;
    color: #a8c0b4;
    font-size: .88rem;
    line-height: 1.6;
}

@media (max-width: 650px) {
    .locations-grid { grid-template-columns: 1fr; }
    .location-tile { min-height: 125px; padding: 21px; }
}
