/* Home page — "Explore our gallery" banner */
.gb { padding: 4rem 1.25rem; background: #fff; }
@media (min-width: 640px) { .gb { padding: 5rem 2.5rem; } }
.gb__wrap { max-width: 80rem; margin: 0 auto; display: grid; gap: 2rem; align-items: center; background: #10131c; border-radius: 1.5rem; padding: 1.5rem; overflow: hidden; }
@media (min-width: 900px) { .gb__wrap { grid-template-columns: 1fr 1.1fr; gap: 3rem; padding: 2.5rem 3rem; } }
.gb__text { color: #fff; order: -1; }
@media (min-width: 900px) { .gb__text { order: 0; } }
.gb__eyebrow { display: inline-flex; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #d9a05b; }
.gb__eyebrow::before { content: ""; width: 2rem; height: 2px; background: currentColor; }
.gb__text h2 { margin: .9rem 0 .8rem; font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.08; font-weight: 800; letter-spacing: -.025em; }
.gb__text p { max-width: 30rem; color: rgba(255,255,255,.72); line-height: 1.65; }
.gb__btn { display: inline-flex; align-items: center; gap: .6rem; margin-top: 1.6rem; padding: .9rem 1.6rem; border-radius: 999px; background: #fff; color: #10131c; font-weight: 700; font-size: .9rem; text-decoration: none; transition: transform .3s, background .3s; }
.gb__btn:hover { background: #f6f1e9; transform: translateY(-2px); }
.gb__btn span { transition: transform .3s; } .gb__btn:hover span { transform: translateX(4px); }
.gb__collage { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr; gap: .75rem; aspect-ratio: 4 / 3; }
.gb__collage img { width: 100%; height: 100%; object-fit: cover; border-radius: 1rem; display: block; }
.gb__collage img:first-child { grid-row: 1 / 3; }
