.gallery-page { background: var(--surface-page); }
.gallery-page .section { min-width: 0; }
.gallery-hero { background: var(--surface-section); }
.gallery-hero__grid { display: grid; grid-template-columns: minmax(26.25rem, .9fr) minmax(32.5rem, 1.35fr); gap: var(--space-8); align-items: center; }
.gallery-hero__grid > * { min-width: 0; width: 100%; }
.gallery-hero__copy { max-width: 42rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.gallery-hero__copy > * { min-width: 0; margin: 0; }
.gallery-hero__copy h1 { font-size: var(--text-hero); }
.gallery-hero__copy h1 span { color: var(--color-brass); }
.gallery-hero__copy .tag { margin-bottom: var(--space-2); }
.gallery-hero__support { max-width: 30rem; }
.gallery-hero__actions { width: auto; }
.gallery-hero__rule { width: 100%; height: 1px; max-width: 30rem; background: var(--color-brass); }
.gallery-hero__caption { max-width: 30rem; color: var(--color-dim-text); font-size: var(--text-label); }
.gallery-hero__media { min-width: 0; margin: 0; padding: var(--space-2); }
.gallery-hero__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: saturate(.9) brightness(.88); }
.gallery-hero__media figcaption { margin-top: var(--space-3); color: var(--color-muted-white); font-size: var(--text-meta); line-height: 1.45; }
.gallery-ledger__heading { max-width: 44rem; margin-bottom: var(--space-7); }
.gallery-ledger__heading .lead { max-width: 42rem; }
.gallery-ledger__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
.gallery-ledger__grid > * { min-width: 0; width: 100%; }
.gallery-figure { margin: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.gallery-figure--one { grid-column: span 7; }
.gallery-figure--two { grid-column: span 5; }
.gallery-figure--three { grid-column: span 8; }
.gallery-figure--four { grid-column: span 4; }
.gallery-figure--five, .gallery-figure--six { grid-column: span 6; }
.gallery-figure__trigger { width: 100%; min-width: 0; padding: 0; border: 0; background: transparent; text-align: left; }
.gallery-figure__trigger .image-frame { width: 100%; min-width: 0; padding: var(--space-2); transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base); }
.gallery-figure__trigger:hover .image-frame { border-color: var(--color-brass-bright); box-shadow: var(--shadow-panel-hover); transform: translateY(-2px); }
.gallery-figure img { width: 100%; object-fit: cover; filter: saturate(.9) brightness(.9); }
.gallery-figure--one img, .gallery-figure--three img, .gallery-figure--five img { aspect-ratio: 3 / 2; }
.gallery-figure--two img, .gallery-figure--six img { aspect-ratio: 4 / 5; }
.gallery-figure--four img { aspect-ratio: 1 / 1; }
.gallery-figure figcaption { min-width: 0; }
.gallery-figure__meta { display: block; margin-bottom: var(--space-2); color: #b7d1bd; font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); text-transform: uppercase; }
.gallery-figure__meta--copper { color: #e2a581; }
.gallery-figure h3 { margin-bottom: var(--space-3); }
.gallery-figure p { margin-bottom: 0; }
.gallery-figure--one figcaption, .gallery-figure--three figcaption, .gallery-figure--five figcaption { max-width: 28rem; }
.gallery-figure--two figcaption, .gallery-figure--six figcaption { max-width: 22rem; }
.gallery-figure--four figcaption { max-width: 18rem; }
.gallery-table__heading { max-width: 36rem; margin-bottom: var(--space-7); }
.gallery-table__eyebrow { color: #b7d1bd; }
.gallery-table__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.gallery-table__cards > * { min-width: 0; width: 100%; }
.gallery-table__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base); }
.gallery-table__card > * { margin: 0; min-width: 0; }
.gallery-table__card:hover { border-color: var(--color-brass-bright); box-shadow: var(--shadow-panel-hover); transform: translateY(-2px); }
.gallery-table__card p { max-width: 28rem; }
.gallery-table__strip { width: 100%; padding: var(--space-3); border: var(--border-brass-muted); background: var(--surface-inset); color: var(--color-dim-text); font-size: var(--text-meta); }
.gallery-table__note { width: min(100%, 20rem); margin: var(--space-5) 0 0 auto; padding-left: var(--space-4); border-left: 1px solid var(--color-brass); color: var(--color-muted-white); }
.gallery-night__heading { max-width: 42rem; margin-bottom: var(--space-7); }
.gallery-night__heading .eyebrow span { color: #e2a581; }
.gallery-night__heading .eyebrow b { color: #b7d1bd; font: inherit; }
.gallery-night__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.gallery-night__steps > * { min-width: 0; width: 100%; }
.gallery-night__step { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-brass); }
.gallery-night__step:nth-child(2) { border-color: var(--color-felt-green); }
.gallery-night__number { display: block; margin-bottom: var(--space-4); color: var(--color-brass); font-family: var(--font-heading); font-size: 4rem; font-weight: 600; line-height: .8; }
.gallery-night__step p { max-width: 26rem; }
.gallery-night__record { display: flex; flex-direction: column; gap: var(--space-2); max-width: 30rem; margin-top: var(--space-5); padding: var(--space-4); border: var(--border-brass-muted); background: var(--surface-inset); color: var(--color-muted-white); font-size: var(--text-label); }
.gallery-night__action { margin-top: var(--space-6); }
.gallery-fire__heading { max-width: 36rem; margin-bottom: var(--space-7); }
.gallery-fire__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); align-items: start; }
.gallery-fire__grid > * { min-width: 0; width: 100%; }
.gallery-fire__beverage { margin-top: var(--space-7); }
.gallery-fire__culinary, .gallery-fire__beverage { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.gallery-fire__culinary > *, .gallery-fire__beverage > * { margin: 0; min-width: 0; }
.gallery-fire__culinary p { max-width: 36rem; }
.gallery-fire__beverage p { max-width: 25rem; }
.gallery-fire__rule { width: 100%; height: 1px; background: var(--color-copper); }
.gallery-fire__bridge { max-width: 40rem; margin-top: var(--space-6); padding: var(--space-5); border: var(--border-brass); background: var(--surface-inset); color: var(--color-muted-white); }
.gallery-strategy__heading { max-width: 38rem; margin-bottom: var(--space-7); }
.gallery-strategy__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.gallery-strategy__grid > * { min-width: 0; width: 100%; }
.gallery-strategy__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.gallery-strategy__card > * { margin: 0; min-width: 0; }
.gallery-strategy__card > span { color: #b7d1bd; font-family: var(--font-heading); font-size: 2rem; font-weight: 600; line-height: 1; }
.gallery-strategy__card h3 { font-size: var(--text-card-title); }
.gallery-strategy__card p { max-width: 22rem; }
.gallery-strategy__action { margin-top: var(--space-6); }
.gallery-notes__content { width: min(100%, 64rem); margin: 0 auto; }
.gallery-notes__heading { max-width: 34rem; margin-bottom: var(--space-6); }
.gallery-notes__item { margin-bottom: var(--space-4); }
.gallery-notes__item summary { min-height: 2.75rem; }
.gallery-notes__answer { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); background: var(--surface-inset); }
.gallery-notes__answer > * { margin: 0; min-width: 0; }
.gallery-notes__answer p { max-width: 52rem; }
.gallery-notes__links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); width: 100%; }
.gallery-notes__links > * { min-width: 0; width: 100%; padding: var(--space-3); border: var(--border-brass-muted); color: var(--color-white); font-size: var(--text-label); text-decoration: none; }
.gallery-notes__links a:hover { border-color: var(--color-brass-bright); color: var(--color-brass-bright); }
.gallery-routes__heading { max-width: 34rem; margin-bottom: var(--space-7); }
.gallery-routes__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.gallery-routes__grid > * { min-width: 0; width: 100%; }
.gallery-route-card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-height: 100%; padding: var(--space-5); border: var(--border-brass); background: var(--surface-panel); box-shadow: var(--shadow-panel); transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base); }
.gallery-route-card > * { margin: 0; min-width: 0; }
.gallery-route-card:hover { border-color: var(--color-brass-bright); box-shadow: var(--shadow-panel-hover); transform: translateY(-2px); }
.gallery-route-card h3 { font-size: var(--text-card-title); }
.gallery-route-card p { max-width: 20rem; }
.gallery-route-card > a:last-child { margin-top: auto; }
.gallery-route-card--poker { border-top: 3px solid var(--color-felt-green); }
.gallery-route-card--culinary { border-top: 3px solid var(--color-copper); }
.gallery-route-card--reserve { border-color: var(--color-brass-bright); }
.gallery-route-card--reserve .button { width: 100%; }
.gallery-cta__panel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); padding: var(--space-7); border: var(--border-brass); background: var(--surface-section); box-shadow: var(--shadow-panel); }
.gallery-cta__panel > * { min-width: 0; width: 100%; }
.gallery-cta__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.gallery-cta__copy > * { margin: 0; min-width: 0; }
.gallery-cta__copy p { max-width: 38rem; }
.gallery-cta__location { align-self: end; max-width: 20rem; padding-left: var(--space-6); border-left: 1px solid var(--color-brass); }
.gallery-cta__location p:last-child { margin-bottom: 0; }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: var(--space-5); }
.gallery-lightbox__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .82); }
.gallery-lightbox__dialog { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); width: min(100%, 70rem); max-height: calc(100vh - 3rem); padding: var(--space-5); border: var(--border-brass); background: var(--surface-panel); box-shadow: var(--shadow-panel-hover); }
.gallery-lightbox__dialog figure { min-width: 0; margin: 0; }
.gallery-lightbox__dialog img { width: 100%; max-height: calc(100vh - 10rem); object-fit: contain; }
.gallery-lightbox__dialog figcaption { margin-top: var(--space-3); color: var(--color-muted-white); }
.gallery-lightbox__close { position: absolute; top: var(--space-2); right: var(--space-2); z-index: 1; min-width: 2.75rem; min-height: 2.75rem; border: var(--border-brass); background: var(--surface-inset); color: var(--color-white); font-size: 1.75rem; line-height: 1; }
.gallery-lightbox__previous, .gallery-lightbox__next { min-width: 2.75rem; min-height: 2.75rem; padding: var(--space-2); border: var(--border-brass); background: var(--surface-inset); color: var(--color-white); font-size: var(--text-meta); }
.gallery-lightbox__previous:hover, .gallery-lightbox__next:hover, .gallery-lightbox__close:hover { border-color: var(--color-brass-bright); color: var(--color-brass-bright); }
.gallery-page button:focus-visible, .gallery-page a:focus-visible { outline: 2px solid var(--color-felt-green); outline-offset: 2px; }
@media (max-width: 1040px) { .gallery-strategy__grid, .gallery-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 960px) { .gallery-ledger__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } .gallery-figure--one, .gallery-figure--two, .gallery-figure--three, .gallery-figure--four, .gallery-figure--five, .gallery-figure--six { grid-column: span 6; } }
@media (max-width: 900px) { .gallery-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .gallery-hero__copy { max-width: 42rem; } .gallery-hero__media img { aspect-ratio: 16 / 10; } .gallery-table__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gallery-table__card:nth-child(3) { grid-column: span 2; } .gallery-fire__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gallery-fire__beverage { margin-top: 0; } }
@media (max-width: 860px) { .gallery-night__steps { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .gallery-night__step { max-width: 42rem; } }
@media (max-width: 820px) { .gallery-cta__panel { grid-template-columns: minmax(0, 1fr); padding: var(--space-5); } .gallery-cta__location { max-width: 100%; padding: var(--space-5) 0 0; border-top: 1px solid var(--color-brass); border-left: 0; } }
@media (max-width: 720px) { .gallery-hero__copy h1 { font-size: clamp(3rem, 13vw, 4.6rem); } .gallery-hero__actions { width: 100%; flex-direction: column; align-items: stretch; } .gallery-hero__actions .button { width: 100%; } .gallery-hero__media img { aspect-ratio: 4 / 5; } .gallery-ledger__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .gallery-figure--one, .gallery-figure--two, .gallery-figure--three, .gallery-figure--four, .gallery-figure--five, .gallery-figure--six { grid-column: 1; } .gallery-figure--one img, .gallery-figure--six img { aspect-ratio: 4 / 5; } .gallery-figure--two img { aspect-ratio: 4 / 5; } .gallery-figure--three img, .gallery-figure--five img { aspect-ratio: 3 / 2; } .gallery-figure--four img { aspect-ratio: 1 / 1; } .gallery-figure--one figcaption, .gallery-figure--two figcaption, .gallery-figure--three figcaption, .gallery-figure--four figcaption, .gallery-figure--five figcaption, .gallery-figure--six figcaption { max-width: 100%; } .gallery-table__cards, .gallery-fire__grid, .gallery-strategy__grid, .gallery-routes__grid { grid-template-columns: minmax(0, 1fr); } .gallery-table__card:nth-child(3) { grid-column: 1; } .gallery-table__note { width: 100%; max-width: none; margin-left: 0; } .gallery-fire__bridge { max-width: 100%; } .gallery-strategy__action, .gallery-night__action { width: 100%; } .gallery-notes__links { grid-template-columns: minmax(0, 1fr); } .gallery-route-card .button { width: 100%; } .gallery-lightbox { padding: var(--space-3); } .gallery-lightbox__dialog { grid-template-columns: minmax(0, 1fr); padding: var(--space-4); } .gallery-lightbox__previous, .gallery-lightbox__next { width: 100%; } }
