:root {
    --gb-ink: #111827;
    --gb-navy: #233A5E;
    --gb-navy-dark: #172943;
    --gb-bg: #FAFAF7;
    --gb-white: #FFFFFF;
    --gb-surface: #F4F5F6;
    --gb-text: #4B5563;
    --gb-muted: #7C828C;
    --gb-border: #E5E7EB;
    --gb-industry-accent: #8C6D5A;
    --gb-radius-lg: 18px;
    --gb-radius-md: 14px;
    --gb-radius-sm: 8px;
    --gb-shadow: 0 18px 50px rgba(17, 24, 39, .07);
    --gb-container: 1280px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--gb-bg); color: var(--gb-ink); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input { font: inherit; }
.gb-container { width: min(var(--gb-container), calc(100% - 48px)); margin-inline: auto; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; white-space: nowrap; }
h1,h2,h3,h4 { margin-top: 0; color: var(--gb-ink); }
.gb-eyebrow { display: inline-block; color: var(--gb-industry-accent); font-size: 12px; line-height: 1.2; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.gb-content-page { padding: 72px 0 96px; }
.gb-listing-header { max-width: 780px; margin-bottom: 42px; }
.gb-listing-header h1 { font: 700 clamp(42px, 5vw, 68px)/1.04 "Playfair Display", serif; margin: 10px 0 16px; }
.gb-listing-header p { color: var(--gb-text); font-size: 18px; }
@media (max-width: 760px) { .gb-container { width: min(100% - 32px, var(--gb-container)); } .gb-content-page { padding: 48px 0 72px; } }
