.bang-location { padding: 3.5rem 1rem 5.5rem; }
.bang-location__inner { display: grid; grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr); max-width: 80rem; margin: 0 auto; overflow: hidden; border: 1px solid rgba(14,134,182,.18); border-radius: 1.5rem; background: rgba(255,255,255,.8); box-shadow: 0 18px 42px rgba(19,35,62,.09); }
.bang-location__intro { padding: clamp(2rem, 5vw, 4rem); display: flex; flex-direction: column; justify-content: center; background: linear-gradient(135deg, #effbfe, #fff 62%); }
.bang-location__eyebrow { margin: 0 0 .75rem; color: #0b91c5; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 900; }
.bang-location h2 { margin: 0 0 1rem; color: #13233e; font-size: clamp(2rem, 3.2vw, 3.35rem); font-weight: 900; letter-spacing: -.055em; line-height: 1; }
.bang-location h2 span { white-space: nowrap; background: linear-gradient(105deg,#075b88,#08b9df 32%,#e1fbff 51%,#16b4e1 68%,#075c89); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: bang-why-metal-shine 5.5s ease-in-out infinite; }
.bang-location h2 small { font-size: .43em; letter-spacing: -.02em; vertical-align: middle; }
.bang-location__intro > p:not(.bang-location__eyebrow) { margin: 0 0 1.6rem; color: #526070; font-size: 1.04rem; line-height: 1.55; font-weight: 600; }
.bang-location__directions { display: inline-flex; align-self: flex-start; align-items: center; gap: .65rem; padding: .9rem 1.2rem; border-radius: .75rem; background: linear-gradient(105deg,#0e86b6,#0b65a0); color: #fff; text-decoration: none; font-weight: 800; box-shadow: 0 8px 18px rgba(11,101,160,.22); transition: transform .2s ease; }
.bang-location__directions:hover { transform: translateY(-2px); }
.bang-location__directions span { font-size: 1.2em; }
.bang-location__map { min-height: 24rem; background: #d7e7ea; }
.bang-location__map iframe { width: 100%; height: 100%; min-height: 24rem; display: block; border: 0; filter: saturate(.88) contrast(1.03); }
.bang-location__map-consent { min-height: 24rem; padding: 2rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; text-align: center; color: #425466; background: linear-gradient(135deg,#edf8fb,#d7e7ea); }
.bang-location__map-consent p { max-width: 26rem; margin: 0; line-height: 1.55; }
.bang-location__map-consent button { border: 0; border-radius: .75rem; padding: .9rem 1.2rem; color: #fff; background: linear-gradient(105deg,#0e86b6,#0b65a0); font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 8px 18px rgba(11,101,160,.22); }
.bang-location__map-consent a { color: #0b65a0; font-size: .9rem; font-weight: 700; }
@media (max-width: 700px) { .bang-location { padding: 2rem 1rem 3.75rem; } .bang-location__inner { grid-template-columns: 1fr; } .bang-location__intro { padding: 2.3rem 1.75rem; } .bang-location__map, .bang-location__map iframe { min-height: 19rem; } }
