.gb-products-page { background: #fff; }
.gb-products-shell { max-width: 1240px; margin: 0 auto; padding: 5rem 2.4rem 8rem; }
.gb-products-intro { max-width: 760px; margin: 0 auto 4rem; text-align: center; }
.gb-products-eyebrow { margin: 0 0 1rem; color: var(--gb-green-dark); font-size: 1.2rem; font-weight: 700; letter-spacing: .18rem; }
.gb-products h1, .gb-products h2 { margin: 0; color: var(--gb-ink); line-height: 1.14; }
.gb-products h1 { font-size: clamp(3.5rem, 6vw, 6rem); }
.gb-products-intro > p:last-child { margin: 1.5rem auto 0; color: #495664; font-size: 1.8rem; }
.gb-products-stage { overflow: hidden; border: 1px solid var(--gb-border); border-radius: 2.4rem; background: var(--gb-green-soft); box-shadow: var(--gb-shadow); }
.gb-products-tabs { display: flex; gap: 1rem; padding: 1.6rem; border-bottom: 1px solid var(--gb-border); background: #fff; }
.gb-products-tabs button { min-height: 4.4rem; padding: .8rem 2rem; border: 1px solid var(--gb-border); border-radius: 999px; background: #fff; color: var(--gb-ink); font: inherit; font-weight: 700; cursor: pointer; }
.gb-products-tabs button[aria-selected="true"] { border-color: var(--gb-green); background: var(--gb-green); color: #102014; }
.gb-products-tabs button:hover { border-color: var(--gb-green-dark); }
.gb-products-panel { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); min-height: 520px; }
.gb-products-panel[hidden] { display: none; }
.gb-products-panel-visual { display: grid; place-items: center; min-height: 520px; background: #fff; }
.gb-products-panel-visual img { display: block; width: 100%; height: 520px; object-fit: contain; }
.gb-products-panel-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem, 5vw, 6rem); }
.gb-products-panel-copy h2 { font-size: clamp(3rem, 4vw, 5rem); }
.gb-products-panel-copy > p:not(.gb-products-eyebrow) { margin: 1.8rem 0 2.8rem; color: #495664; font-size: 1.8rem; }
.gb-products-cta { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 4.6rem; padding: .9rem 2.4rem; border-radius: 999px; background: var(--gb-pink); color: #fff; font-weight: 700; text-decoration: none; text-align: center; }
.gb-products-cta:hover { background: #f329a0; color: #fff; }
.gb-products-gallery-head { max-width: 720px; margin: 7rem 0 3rem; }
.gb-products-gallery-head h2 { font-size: clamp(3rem, 4vw, 4.5rem); }
.gb-products-gallery-head > p:last-child { color: #495664; }
.gb-products-masonry { columns: 3 260px; column-gap: 2rem; }
.gb-products-tile { display: block; break-inside: avoid; overflow: hidden; margin-bottom: 2rem; border: 1px solid var(--gb-border); border-radius: 1.6rem; background: #fff; box-shadow: var(--gb-shadow); color: var(--gb-ink); text-decoration: none; }
.gb-products-tile img { display: block; width: 100%; height: auto; border-radius: 0; transition: transform .35s ease; }
.gb-products-tile span { display: flex; justify-content: space-between; gap: 1rem; padding: 1.3rem 1.6rem; font-weight: 700; }
.gb-products-tile span span { display: inline; padding: 0; }
.gb-products-tile:hover img { transform: scale(1.025); }
.gb-products-tile:hover { color: var(--gb-green-dark); }
.gb-products-end { margin-top: 4rem; text-align: center; }
@media (max-width: 760px) { .gb-products-shell { padding: 3rem 1.6rem 6rem; } .gb-products-panel { grid-template-columns: 1fr; } .gb-products-panel-visual { min-height: 0; } .gb-products-panel-visual img { height: min(75vw, 440px); } .gb-products-panel-copy { padding: 2.8rem; } .gb-products-tabs { justify-content: center; flex-wrap: wrap; } .gb-products-tabs button { padding: .7rem 1.2rem; } }
@media (prefers-reduced-motion: reduce) { .gb-products-tile img { transition: none; } }
