.gallery-page { overflow: clip; }
.gallery-page .gallery-hero__grid,
.gallery-page .gallery-reading__grid,
.gallery-page .gallery-selection__grid,
.gallery-page .gallery-signature__cards,
.gallery-page .gallery-process__steps,
.gallery-page .gallery-paths__grid,
.gallery-page .gallery-assurance__grid,
.gallery-page .gallery-cta__panel { display: grid; min-width: 0; }
.gallery-page .gallery-hero__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: center; }
.gallery-page .gallery-hero__copy { grid-column: span 5; min-width: 0; max-width: 42ch; }
.gallery-page .gallery-hero__figure { grid-column: span 7; min-width: 0; margin: 0; border: var(--border-accent); aspect-ratio: 4 / 3; overflow: hidden; }
.gallery-page .gallery-hero__figure img { width: 100%; height: 100%; object-fit: cover; object-position: right center; filter: saturate(.86) contrast(1.06); }
.gallery-page .gallery-hero__eyebrow::before { content: ""; display: inline-block; width: 2rem; height: 1px; margin: 0 var(--space-3) .25rem 0; background: var(--color-rose-gold); }
.gallery-page .gallery-hero__actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-bottom: var(--space-5); }
.gallery-page .gallery-hero__actions > * { min-width: 0; }
.gallery-page .gallery-hero__note { max-width: 40ch; margin-bottom: 0; color: var(--color-muted-stone); font-size: var(--text-small); line-height: var(--leading-small); }
.gallery-page .gallery-reading__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: end; }
.gallery-page .gallery-reading__intro { grid-column: span 5; min-width: 0; max-width: 58ch; }
.gallery-page .gallery-reading__points { grid-column: span 7; display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.gallery-page .gallery-reading__point { min-width: 0; padding: var(--space-5); }
.gallery-page .gallery-reading__point > :last-child { margin-bottom: 0; }
.gallery-page .gallery-reading__number,
.gallery-page .gallery-figure__number,
.gallery-page .gallery-path > span { display: block; margin-bottom: var(--space-3); color: var(--color-rose-gold); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.gallery-page .gallery-reading__point h3 { font-size: var(--text-card-title); }
.gallery-page .gallery-reading__point p { max-width: 36ch; font-size: var(--text-small); }
.gallery-page .gallery-reading__offline { display: inline-block; padding: 0 var(--space-1); background: var(--color-rose-tint); color: var(--color-rose-gold); }
.gallery-page .gallery-selection__heading { width: 100%; max-width: 60ch; margin-bottom: var(--space-7); }
.gallery-page .gallery-selection__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.gallery-page .gallery-figure { min-width: 0; margin: 0; }
.gallery-page .gallery-figure--gala { grid-column: 1 / span 7; grid-row: span 2; }
.gallery-page .gallery-figure--private { grid-column: 8 / span 5; }
.gallery-page .gallery-figure--casino { grid-column: 8 / span 5; }
.gallery-page .gallery-figure--evening { grid-column: 1 / span 7; }
.gallery-page .gallery-figure__media { width: 100%; overflow: hidden; border: var(--border-subtle); background: var(--color-charcoal); }
.gallery-page .gallery-figure--gala .gallery-figure__media { aspect-ratio: 3 / 2; border-color: var(--color-rose-gold); }
.gallery-page .gallery-figure--private .gallery-figure__media { aspect-ratio: 4 / 5; }
.gallery-page .gallery-figure--casino .gallery-figure__media { aspect-ratio: 3 / 2; border-color: var(--color-rose-gold); }
.gallery-page .gallery-figure--evening .gallery-figure__media { aspect-ratio: 4 / 3; }
.gallery-page .gallery-figure__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.84) contrast(1.05); }
.gallery-page .gallery-figure__caption { margin-top: var(--space-3); }
.gallery-page .gallery-figure--casino .gallery-figure__caption { padding: var(--space-4); background: var(--color-rose-tint); }
.gallery-page .gallery-figure__caption h3 { margin-bottom: var(--space-2); font-size: var(--text-card-title); }
.gallery-page .gallery-figure__caption p { max-width: 38ch; margin-bottom: 0; font-size: var(--text-small); }
.gallery-page .gallery-signature__heading { width: 100%; max-width: 54ch; margin-bottom: var(--space-7); }
.gallery-page .gallery-signature__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.gallery-page .gallery-signature__card { display: flex; min-width: 0; flex-direction: column; }
.gallery-page .gallery-signature__card img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.gallery-page .gallery-signature__card-copy { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: var(--space-3); padding: var(--space-5); }
.gallery-page .gallery-signature__card-copy > * { margin: 0; min-width: 0; }
.gallery-page .gallery-signature__card-copy h3 { font-size: var(--text-card-title); }
.gallery-page .gallery-signature__card-copy p { max-width: 32ch; }
.gallery-page .gallery-signature__card--light { border-top-color: var(--color-rose-gold); }
.gallery-page .gallery-process__heading { width: 100%; max-width: 50ch; margin-bottom: var(--space-6); }
.gallery-page .gallery-process__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: var(--border-subtle); }
.gallery-page .gallery-process__step { min-width: 0; padding: var(--space-5); border-right: var(--border-subtle); border-bottom: var(--border-subtle); }
.gallery-page .gallery-process__step:first-child { border-left: var(--border-subtle); }
.gallery-page .gallery-process__step > * { min-width: 0; }
.gallery-page .gallery-process__step > span { display: block; margin-bottom: var(--space-4); color: var(--color-rose-gold); font-family: var(--font-heading); font-size: 3rem; line-height: 1; }
.gallery-page .gallery-process__step h3 { font-size: var(--text-card-title); }
.gallery-page .gallery-process__step p { max-width: 30ch; margin-bottom: 0; font-size: var(--text-small); }
.gallery-page .gallery-process__step--final { border-bottom-color: var(--color-copper); }
.gallery-page .gallery-paths__heading { width: 100%; max-width: 48ch; margin-bottom: var(--space-7); }
.gallery-page .gallery-paths__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.gallery-page .gallery-path { display: flex; min-width: 0; min-height: 100%; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: var(--border-subtle); background: var(--color-charcoal); color: var(--color-white-warm); text-decoration: none; transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.gallery-page .gallery-path:hover { border-color: var(--color-rose-gold); background: var(--color-charcoal-raised); color: var(--color-white-warm); transform: translateY(-2px); }
.gallery-page .gallery-path > * { min-width: 0; margin: 0; }
.gallery-page .gallery-path h3 { font-size: var(--text-card-title); }
.gallery-page .gallery-path p { max-width: 29ch; font-size: var(--text-small); }
.gallery-page .gallery-path strong { margin-top: auto; color: var(--color-white); font-size: var(--text-small); text-decoration: underline; text-decoration-color: var(--color-rose-gold); text-underline-offset: .2em; }
.gallery-page .gallery-path em { display: inline-block; padding: 0 var(--space-1); background: var(--color-rose-tint); color: var(--color-rose-gold); font-style: normal; }
.gallery-page .gallery-assurance__heading { margin-bottom: var(--space-6); }
.gallery-page .gallery-assurance__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.gallery-page .gallery-assurance__panel { min-width: 0; padding: var(--space-6); }
.gallery-page .gallery-assurance__panel > :last-child { margin-bottom: 0; }
.gallery-page .gallery-assurance__panel p:not(.eyebrow) { max-width: 48ch; }
.gallery-page .gallery-assurance__panel--casino { border: var(--border-accent); background: var(--color-rose-tint); }
.gallery-page .gallery-cta__panel { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: var(--space-6); padding: var(--space-7); }
.gallery-page .gallery-cta__copy { grid-column: span 5; min-width: 0; max-width: 50ch; }
.gallery-page .gallery-cta__copy > :last-child { margin-bottom: 0; }
.gallery-page .gallery-cta__action { grid-column: 7 / span 4; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.gallery-page .gallery-cta__list { display: grid; width: 100%; min-width: 0; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3) var(--space-4); padding: var(--space-5); }
.gallery-page .gallery-cta__list span { color: var(--color-rose-gold); font-family: var(--font-heading); font-size: var(--text-card-title); line-height: 1.2; }
.gallery-page .gallery-cta__list p { margin: 0; max-width: 38ch; font-size: var(--text-small); }
.gallery-page .gallery-cta__help { margin: 0; color: var(--color-white-warm); font-size: var(--text-small); }
.gallery-page .gallery-note__content { width: 58.333%; min-width: 0; max-width: 56ch; padding-top: var(--space-5); border-top: var(--border-subtle); }
.gallery-page .gallery-note__content h2 { font-size: var(--text-section); }
.gallery-page .gallery-note__content p:last-child { margin-bottom: 0; color: var(--color-muted-stone); font-size: var(--text-small); }
@media (max-width: 64rem) {
  .gallery-page .gallery-hero__grid, .gallery-page .gallery-reading__grid, .gallery-page .gallery-selection__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .gallery-page .gallery-hero__copy { grid-column: span 4; }
  .gallery-page .gallery-hero__figure { grid-column: span 4; }
  .gallery-page .gallery-reading__intro { grid-column: 1 / -1; }
  .gallery-page .gallery-reading__points { grid-column: 1 / -1; }
  .gallery-page .gallery-figure--gala { grid-column: 1 / -1; grid-row: auto; }
  .gallery-page .gallery-figure--private { grid-column: span 4; }
  .gallery-page .gallery-figure--casino { grid-column: span 4; }
  .gallery-page .gallery-figure--evening { grid-column: 1 / -1; }
  .gallery-page .gallery-signature__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-page .gallery-signature__card:last-child { grid-column: 1 / -1; }
  .gallery-page .gallery-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); border-top: 0; }
  .gallery-page .gallery-process__step, .gallery-page .gallery-process__step:first-child { border: var(--border-subtle); }
  .gallery-page .gallery-paths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-page .gallery-assurance__grid { grid-template-columns: 1fr; }
  .gallery-page .gallery-cta__panel { grid-template-columns: 1fr; }
  .gallery-page .gallery-cta__copy, .gallery-page .gallery-cta__action { grid-column: 1; max-width: none; }
  .gallery-page .gallery-note__content { width: 75%; }
}
@media (max-width: 56.25rem) {
  .gallery-page .gallery-hero__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .gallery-page .gallery-hero__copy, .gallery-page .gallery-hero__figure { grid-column: 1; max-width: none; }
  .gallery-page .gallery-hero__copy { max-width: 42ch; }
  .gallery-page .gallery-cta__panel { padding: var(--space-6); }
}
@media (max-width: 48rem) {
  .gallery-page .gallery-reading__grid, .gallery-page .gallery-selection__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
  .gallery-page .gallery-reading__points, .gallery-page .gallery-signature__cards, .gallery-page .gallery-process__steps, .gallery-page .gallery-paths__grid, .gallery-page .gallery-assurance__grid { grid-template-columns: 1fr; }
  .gallery-page .gallery-reading__point, .gallery-page .gallery-figure--gala, .gallery-page .gallery-figure--private, .gallery-page .gallery-figure--casino, .gallery-page .gallery-figure--evening { grid-column: 1 / -1; }
  .gallery-page .gallery-signature__card:last-child { grid-column: auto; }
  .gallery-page .gallery-selection__heading, .gallery-page .gallery-signature__heading, .gallery-page .gallery-process__heading, .gallery-page .gallery-paths__heading { margin-bottom: var(--space-6); }
  .gallery-page .gallery-figure--private .gallery-figure__media { aspect-ratio: 4 / 5; min-height: 22rem; }
  .gallery-page .gallery-process__steps { gap: var(--space-3); }
  .gallery-page .gallery-process__step { position: relative; padding-left: var(--space-6); }
  .gallery-page .gallery-process__step::before { content: ""; position: absolute; top: var(--space-5); bottom: var(--space-5); left: var(--space-4); width: 1px; background: var(--color-rose-gold); }
  .gallery-page .gallery-cta__panel { padding: var(--space-5); }
  .gallery-page .gallery-cta__action .button { width: 100%; }
  .gallery-page .gallery-note__content { width: 100%; }
}
@media (max-width: 30rem) {
  .gallery-page .gallery-hero__actions { align-items: stretch; flex-direction: column; }
  .gallery-page .gallery-hero__actions .button { width: 100%; }
  .gallery-page .gallery-hero__actions .button--link { justify-content: flex-start; }
}
