.gb-page { overflow: clip; }
.gb-page .section { position: relative; }
.gb-hero { position: relative; min-height: 80vh; display: flex; align-items: center; isolation: isolate; padding-block: var(--space-9); }
.gb-hero__media { position: absolute; inset: 0; z-index: -2; width: 100%; min-width: 0; overflow: hidden; }
.gb-hero__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,12,16,.94) 0%, rgba(11,12,16,.78) 43%, rgba(11,12,16,.26) 78%, rgba(11,12,16,.42) 100%), linear-gradient(0deg, rgba(11,12,16,.72), transparent 46%); content: ""; }
.gb-hero__media img { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: center; }
.gb-hero__container { display: flex; align-items: center; min-width: 0; }
.gb-hero__panel { display: flex; flex: 0 1 620px; min-width: 0; max-width: 620px; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.gb-hero__panel > * { min-width: 0; margin: 0; }
.gb-hero__panel p:not(.eyebrow) { max-width: 38rem; font-size: var(--text-lg); }
.gb-hero__actions { display: flex; width: auto; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.gb-hero__actions > * { min-width: 0; }
.gb-dinner__intro { width: min(100%, 42.5rem); min-width: 0; }
.gb-dinner__cards, .gb-service__cards, .gb-choices__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.gb-dinner__cards > *, .gb-service__cards > *, .gb-choices__cards > * { min-width: 0; width: 100%; }
.gb-dinner__card { display: flex; flex-direction: column; gap: var(--space-3); }
.gb-dinner__card > * { margin: 0; min-width: 0; }
.gb-dinner__card p:not(.eyebrow) { max-width: 38ch; }
.gb-steak__intro { position: relative; width: min(100%, 37.5rem); min-width: 0; }
.gb-steak__intro::after { position: absolute; top: 0; left: calc(100% + var(--space-8)); width: 1px; height: 100%; background: var(--color-border-gold); content: ""; }
.gb-steak__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.gb-steak__step { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border-gold); }
.gb-steak__step > * { min-width: 0; }
.gb-steak__step h3 { margin-bottom: var(--space-3); }
.gb-steak__step p { max-width: 34ch; margin-bottom: 0; }
.gb-steak__number { color: var(--color-bronze); font-family: var(--font-heading); font-size: var(--text-3xl); font-weight: 800; letter-spacing: var(--tracking-heading); line-height: 1; }
.gb-bar__layout { display: grid; grid-template-columns: minmax(0, .46fr) minmax(0, .54fr); align-items: stretch; gap: var(--space-8); }
.gb-bar__layout > * { min-width: 0; width: 100%; }
.gb-bar__copy { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-5); }
.gb-bar__copy > * { min-width: 0; margin: 0; }
.gb-bar__lead { max-width: 36rem; font-size: var(--text-lg); }
.gb-bar__items { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.gb-bar__items > * { min-width: 0; width: 100%; padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.gb-bar__items h3 { margin-bottom: var(--space-2); }
.gb-bar__items p { max-width: 40ch; margin-bottom: 0; }
.gb-bar__image { min-height: 42.5rem; }
.gb-bar__image img { object-position: right center; }
.gb-service { background: linear-gradient(180deg, rgba(26,28,35,.82), rgba(26,28,35,.38)); }
.gb-service__intro { width: min(100%, 43.75rem); min-width: 0; }
.gb-service__cards { margin-top: var(--space-6); }
.gb-service__card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); border-left: 2px solid var(--color-champagne); }
.gb-service__card--notice { border-left-color: var(--color-danger); }
.gb-service__card > * { min-width: 0; margin: 0; }
.gb-service__card p { max-width: 34ch; }
.gb-service__mark { width: 2rem; height: 1px; background: var(--color-champagne); }
.gb-service__card--notice .gb-service__mark { background: var(--color-danger); }
.gb-scene .container { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); }
.gb-scene__image { grid-column: 1; grid-row: 1; width: 100%; min-width: 0; aspect-ratio: 16 / 8; }
.gb-scene__image img { object-position: center; }
.gb-scene__panel { z-index: 1; grid-column: 1; grid-row: 1; align-self: end; width: min(46%, 33.75rem); min-width: 0; margin: var(--space-7); padding: var(--space-6); border: 1px solid var(--color-border-gold); border-radius: var(--radius-lg); background: var(--surface-card), var(--surface-glass); box-shadow: var(--shadow-soft); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.gb-scene__panel > :last-child { margin-bottom: 0; }
.gb-scene__panel p { max-width: 34rem; }
.gb-scene__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-6); }
.gb-scene__notes > * { min-width: 0; width: 100%; padding-top: var(--space-4); border-top: 1px solid var(--color-border-gold); }
.gb-scene__notes h3 { margin-bottom: var(--space-3); }
.gb-scene__notes p { max-width: 36ch; margin-bottom: 0; }
.gb-choices__intro { width: min(100%, 38.75rem); min-width: 0; }
.gb-choices__card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.gb-choices__card > * { min-width: 0; margin: 0; }
.gb-choices__card p:not(.eyebrow) { max-width: 35ch; }
.gb-choices__link { margin-top: var(--space-6); }
.gb-faq { background: rgba(26,28,35,.34); }
.gb-faq__intro { width: min(100%, 38.75rem); min-width: 0; }
.gb-faq__list { display: flex; width: min(100%, 53.75rem); min-width: 0; flex-direction: column; gap: var(--space-3); margin-top: var(--space-6); border-left: 1px solid var(--color-champagne); padding-left: var(--space-4); }
.gb-faq__list > * { width: 100%; min-width: 0; }
.gb-faq__list .details > div p { max-width: 40.625rem; margin-bottom: 0; }
.gb-cta__panel { display: flex; width: min(100%, 70rem); min-width: 0; margin-inline: auto; padding: var(--space-9) var(--space-8); flex-direction: column; align-items: center; gap: var(--space-5); border: 1px solid var(--color-border-gold); border-radius: var(--radius-xl); background: var(--ambient-glow), var(--surface-card), var(--color-graphite); text-align: center; }
.gb-cta__panel > * { min-width: 0; margin: 0; }
.gb-cta__panel p { width: min(100%, 40rem); }
.gb-cta__panel small { width: min(100%, 30rem); color: var(--color-text-muted); }
.gb-age__panel { width: min(100%, 47.5rem); min-width: 0; padding: var(--space-5); border-left: 2px solid var(--color-danger); background: rgba(26,28,35,.56); }
.gb-age__panel > :last-child { margin-bottom: 0; }
.gb-age__panel h2 { font-size: var(--text-2xl); }
.gb-reveal { opacity: 0; transform: translateY(12px); transition: opacity var(--transition-slow), transform var(--transition-slow); }
.gb-reveal.is-visible { opacity: 1; transform: translateY(0); }
@supports not ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) { .gb-scene__panel, .gb-dinner__card, .gb-service__card { background: var(--color-graphite); } }
@media (max-width: 980px) { .gb-hero { min-height: 44rem; align-items: end; } .gb-hero__media::after { background: linear-gradient(90deg, rgba(11,12,16,.76), rgba(11,12,16,.3)), linear-gradient(0deg, rgba(11,12,16,.92), rgba(11,12,16,.35)); } .gb-hero__panel { padding: var(--space-6); border: 1px solid var(--color-border-gold); border-radius: var(--radius-lg); background: var(--surface-card), var(--surface-glass); box-shadow: var(--shadow-soft); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); } }
@media (max-width: 959px) { .gb-bar__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .gb-bar__copy { max-width: 36.25rem; } .gb-bar__image { min-height: 0; aspect-ratio: 16 / 9; } }
@media (max-width: 940px) { .gb-dinner__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gb-dinner__cards > :nth-child(3) { grid-column: 1 / -1; } }
@media (max-width: 920px) { .gb-choices__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gb-choices__cards > :nth-child(3) { grid-column: 1 / -1; } }
@media (max-width: 900px) { .gb-steak__intro::after { display: none; } .gb-steak__steps, .gb-service__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gb-steak__steps > :nth-child(3), .gb-service__cards > :nth-child(3) { grid-column: 1 / -1; } .gb-scene .container { display: flex; flex-direction: column; gap: var(--space-6); } .gb-scene__panel { order: 0; width: 100%; margin: 0; } .gb-scene__image { order: 1; aspect-ratio: 16 / 9; } .gb-scene__notes { order: 2; margin-top: 0; } }
@media (max-width: 699px) { .gb-hero { min-height: 45rem; padding-block: var(--space-7); align-items: start; } .gb-hero__container { align-items: start; } .gb-hero__media { height: 100%; } .gb-hero__media::after { background: linear-gradient(180deg, rgba(11,12,16,.9), rgba(11,12,16,.58) 56%, rgba(11,12,16,.93)); } .gb-hero__media img { object-position: center; } .gb-hero__panel { width: 100%; max-width: none; padding: var(--space-5); gap: var(--space-4); } .gb-hero__panel p:not(.eyebrow) { font-size: 1.0625rem; } .gb-hero__actions { width: 100%; flex-direction: column; align-items: stretch; } .gb-hero__actions > * { width: 100%; } .gb-hero__actions .button--quiet { justify-content: flex-start; } .gb-dinner__cards, .gb-steak__steps, .gb-service__cards, .gb-choices__cards, .gb-scene__notes { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); } .gb-dinner__cards > :nth-child(3), .gb-steak__steps > :nth-child(3), .gb-service__cards > :nth-child(3), .gb-choices__cards > :nth-child(3) { grid-column: auto; } .gb-steak__step { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } .gb-steak__step p, .gb-dinner__card p:not(.eyebrow), .gb-service__card p, .gb-choices__card p:not(.eyebrow), .gb-scene__notes p { max-width: none; } .gb-bar__items { gap: var(--space-4); } .gb-bar__image { aspect-ratio: 4 / 5; } .gb-bar__image img { object-position: center; } .gb-scene__image { aspect-ratio: 4 / 5; } .gb-scene__panel { padding: var(--space-5); } .gb-faq__list { width: 100%; padding-left: var(--space-3); } .gb-cta__panel { padding: var(--space-7) var(--space-5); } .gb-cta__panel .button { width: min(100%, 26.25rem); } .gb-age__panel { padding: var(--space-5); } }
@media (hover: hover) { .gb-dinner__card:hover, .gb-service__card:hover { border-color: var(--color-border-gold-strong); transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) { .gb-reveal { opacity: 1; transform: none; } }
