.gallery-page { overflow: hidden; }
.gallery-page ul { list-style: none !important; }
.gallery-page .gallery-hero__grid,
.gallery-page .gallery-feature__grid,
.gallery-page .gallery-leaderboard__grid,
.gallery-page .gallery-dining__grid,
.gallery-page .gallery-rhythm__grid,
.gallery-page .gallery-registration__layout { display: grid; min-width: 0; }
.gallery-hero { padding-block-start: clamp(4rem, 8vw, 6rem); }
.gallery-hero__grid { grid-template-columns: minmax(0, 3fr) minmax(20rem, 2fr); gap: var(--grid-gap); align-items: center; }
.gallery-hero__copy { min-width: 0; max-width: 40rem; }
.gallery-hero__intro { max-width: 40rem; font-size: var(--text-intro); line-height: var(--leading-intro); }
.gallery-hero__badges { margin-block: var(--space-5); }
.gallery-hero__actions { margin-block-end: var(--space-3); }
.gallery-hero__helper { max-width: 30rem; margin-block-end: 0; font-size: var(--text-compact); }
.gallery-hero__media { width: 100%; aspect-ratio: 4 / 5; margin: 0; }
.gallery-hero__media img { width: 100%; height: 100%; }
.gallery-hero__media figcaption { position: absolute; z-index: 1; inset: auto auto var(--space-4) var(--space-4); margin: 0; }
.gallery-guide__heading { max-width: 38rem; }
.gallery-guide__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); margin-block-start: var(--space-7); }
.gallery-guide__card { position: relative; min-width: 0; min-height: 100%; }
.gallery-guide__card--chips::before { position: absolute; top: var(--space-5); right: var(--space-5); width: 2.4rem; height: 2.4rem; border: 1px dashed var(--color-royal-gold); border-radius: 50%; content: ""; opacity: .75; }
.gallery-guide__status { display: block; width: .6rem; height: .6rem; margin-block-end: var(--space-4); border-radius: 50%; background: var(--color-felt-emerald); }
.gallery-feature__grid { grid-template-columns: minmax(22.5rem, 5fr) minmax(0, 7fr); gap: var(--grid-gap); align-items: start; }
.gallery-feature__media { width: 100%; aspect-ratio: 5 / 4; margin: 0; }
.gallery-feature__media img { width: 100%; height: 100%; object-position: center left; }
.gallery-feature__content { min-width: 0; }
.gallery-feature__intro { max-width: 35rem; }
.gallery-feature__details { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: var(--space-6) 0; border: 1px solid var(--border-color); background: var(--border-color); }
.gallery-feature__details > div { min-width: 0; padding: var(--space-4); background: var(--surface-muted); }
.gallery-feature__details dt,
.gallery-session__meta dt { margin-block-end: var(--space-1); color: var(--color-royal-gold); font-size: var(--text-label); font-weight: 800; letter-spacing: .12em; line-height: var(--leading-label); text-transform: uppercase; }
.gallery-feature__details dd,
.gallery-session__meta dd { margin: 0; color: var(--text-primary); font-size: var(--text-compact); line-height: var(--leading-compact); }
.gallery-feature__action { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.gallery-feature__action > * { min-width: 0; }
.gallery-feature__action p { max-width: 32rem; margin: 0; font-size: var(--text-compact); }
.gallery-board__heading { max-width: 42rem; }
.gallery-board__list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); margin-block-start: var(--space-7); }
.gallery-session { display: grid; min-width: 0; grid-template-columns: minmax(9rem, 16fr) minmax(0, 60fr) minmax(11.25rem, 24fr); gap: var(--space-5); padding: var(--space-5); border: 1px solid var(--border-color); border-radius: var(--radius-panel); background: var(--surface-panel); box-shadow: var(--shadow-card); transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-fast); }
.gallery-session > * { min-width: 0; }
.gallery-session:hover { transform: translateY(-2px); box-shadow: var(--shadow-panel); }
.gallery-session__status { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.gallery-session__status strong { color: var(--text-primary); font-size: var(--text-compact); line-height: var(--leading-compact); }
.gallery-session__body h3 { margin-block-end: var(--space-2); }
.gallery-session__body > p { max-width: 34rem; }
.gallery-session__meta { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-5); margin: var(--space-4) 0 0; }
.gallery-session__meta > div { min-width: 0; }
.gallery-session__action { display: flex; min-width: 0; flex-direction: column; align-items: stretch; justify-content: space-between; gap: var(--space-4); }
.gallery-session__action span { color: var(--text-secondary); font-size: var(--text-compact); line-height: var(--leading-compact); }
.gallery-board__note { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-3); margin-block-start: var(--space-5); padding: var(--space-4); border: 1px solid var(--border-color); border-radius: var(--radius-control); background: color-mix(in srgb, var(--color-felt-emerald) 10%, var(--surface-panel)); }
.gallery-board__note > * { min-width: 0; }
.gallery-board__note span { width: .65rem; height: .65rem; flex: 0 0 auto; margin-block-start: .45rem; border-radius: 50%; background: var(--color-felt-emerald); }
.gallery-board__note p { margin: 0; }
.gallery-rhythm__heading { max-width: 40rem; }
.gallery-rhythm__grid { grid-template-columns: minmax(0, 8fr) minmax(16rem, 4fr); gap: var(--grid-gap); align-items: start; margin-block-start: var(--space-7); }
.gallery-rhythm__steps { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin: 0; padding: 0; list-style: none; }
.gallery-rhythm__steps > li { display: grid; min-width: 0; grid-template-columns: 3.2rem minmax(0, 1fr); gap: var(--space-4); padding-block-end: var(--space-5); border-bottom: 1px solid var(--border-color); }
.gallery-rhythm__steps > li > * { min-width: 0; }
.gallery-rhythm__steps > li:nth-child(2) { border-bottom-color: var(--color-felt-emerald); }
.gallery-rhythm__steps > li > span { color: var(--color-royal-gold); font-family: var(--font-heading); font-size: 2rem; font-weight: 700; line-height: 1; }
.gallery-rhythm__steps h3 { margin-block-end: var(--space-2); }
.gallery-rhythm__steps p { max-width: 32rem; margin-block-end: 0; }
.gallery-rhythm__dining { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.gallery-rhythm__dining > * { min-width: 0; margin: 0; }
.gallery-rhythm__dining p { max-width: 24rem; }
.gallery-leaderboard__grid { grid-template-columns: minmax(22.5rem, 5fr) minmax(0, 7fr); gap: var(--grid-gap); align-items: start; }
.gallery-leaderboard__media { width: 100%; aspect-ratio: 4 / 5; margin: 0; }
.gallery-leaderboard__media img { width: 100%; height: 100%; }
.gallery-leaderboard__content { min-width: 0; }
.gallery-leaderboard__intro { max-width: 36rem; }
.gallery-leaderboard__units { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-block: var(--space-6); }
.gallery-leaderboard__units > article { min-width: 0; padding-block-start: var(--space-4); border-top: 1px solid var(--color-gold-muted); }
.gallery-leaderboard__units h3 { margin-block: var(--space-2); }
.gallery-leaderboard__units p { max-width: 30rem; margin-block-end: 0; }
.gallery-leaderboard__action { margin-block-end: 0; }
.gallery-dining__grid { grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr); gap: var(--grid-gap); align-items: stretch; }
.gallery-dining__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.gallery-dining__content > * { min-width: 0; margin: 0; }
.gallery-dining__intro { max-width: 35rem; }
.gallery-dining__support { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); width: 100%; padding-block-start: var(--space-5); border-top: 1px solid var(--border-color); }
.gallery-dining__support > div { min-width: 0; }
.gallery-dining__support h3 { margin-block-end: var(--space-2); }
.gallery-dining__support p { max-width: 28rem; }
.gallery-dining__media { width: 100%; aspect-ratio: 3 / 4; margin: 0; }
.gallery-dining__media img { width: 100%; height: 100%; object-position: right center; }
.gallery-faq__heading { max-width: 38rem; }
.gallery-faq__list { display: flex; min-width: 0; flex-direction: column; gap: 0; width: min(70%, 47.5rem); margin-block-start: var(--space-7); }
.gallery-faq__item { min-width: 0; border-bottom: 1px solid var(--border-color); }
.gallery-faq__item:first-child { border-top: 1px solid var(--border-color); }
.gallery-faq__item h3 { margin: 0; font-family: var(--font-body); font-size: var(--text-body); letter-spacing: 0; }
.gallery-faq__item button { display: flex; width: 100%; min-width: 0; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; background: transparent; color: var(--text-primary); font-size: var(--text-body); font-weight: 700; line-height: 1.35; text-align: left; }
.gallery-faq__item button span { flex: 0 0 auto; color: var(--color-royal-gold); font-size: 1.5rem; font-weight: 400; transition: transform var(--transition-fast); }
.gallery-faq__item button[aria-expanded="true"] span { transform: rotate(45deg); }
.gallery-faq__item:has(button[aria-expanded="true"]) { border-color: var(--color-royal-gold); }
.gallery-faq__panel { display: grid; grid-template-rows: 0fr; opacity: .2; transition: grid-template-rows var(--transition-base), opacity var(--transition-base); }
.gallery-faq__panel > p { min-height: 0; overflow: hidden; margin: 0; }
.gallery-faq__panel.is-open { grid-template-rows: 1fr; opacity: 1; }
.gallery-faq__panel.is-open > p { padding-block-end: var(--space-5); }
.gallery-registration__heading { max-width: 40rem; }
.gallery-registration__layout { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); margin-block-start: var(--space-7); }
.gallery-registration__form { min-width: 0; }
.gallery-registration__fields { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.gallery-registration__fields > * { min-width: 0; }
.gallery-registration__full { grid-column: 1 / -1; }
.gallery-registration__form > .button { margin-block-start: var(--space-6); }
.gallery-registration__helper { max-width: 42rem; margin-block: var(--space-4); font-size: var(--text-compact); }
.gallery-registration__contact { margin-block-end: 0; font-size: var(--text-compact); }
.gallery-form__error { min-height: 1.1rem; color: var(--color-royal-gold-hover); font-size: var(--text-compact); line-height: var(--leading-compact); }
.gallery-registration__form [aria-invalid="true"] { border-color: var(--color-royal-gold); }
.gallery-form__success { margin-block-start: var(--space-5); padding: var(--space-4); border: 1px solid var(--color-felt-emerald); border-radius: var(--radius-control); background: color-mix(in srgb, var(--color-felt-emerald) 17%, transparent); color: var(--text-primary); }
.gallery-closing { padding-block-start: 0; }
.gallery-closing__panel { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-5); border-top-color: var(--color-royal-gold); text-align: center; }
.gallery-closing__panel > * { min-width: 0; }
.gallery-closing__copy { width: min(100%, 38rem); margin-inline: auto; }
.gallery-closing__copy .eyebrow { justify-content: center; }
.gallery-closing__copy p { margin-block-end: 0; }
.gallery-closing__actions { justify-content: center; }
@media (max-width: 60rem) { .gallery-feature__grid { grid-template-columns: 1fr; } .gallery-feature__content { display: contents; } .gallery-feature__content .eyebrow, .gallery-feature__content h2, .gallery-feature__intro { order: -2; } .gallery-feature__media { order: -1; max-width: 100%; } .gallery-feature__grid > .gallery-feature__media { grid-row: 2; } .gallery-feature__content { grid-row: 1 / span 3; } .gallery-leaderboard__grid { grid-template-columns: 1fr; } .gallery-leaderboard__content { display: contents; } .gallery-leaderboard__content .eyebrow, .gallery-leaderboard__content h2, .gallery-leaderboard__intro { order: -2; } .gallery-leaderboard__grid > .gallery-leaderboard__media { grid-row: 2; } .gallery-leaderboard__content { grid-row: 1 / span 3; } .gallery-registration__layout { grid-template-columns: 1fr; } }
@media (max-width: 56.25rem) { .gallery-hero__grid { grid-template-columns: 1fr; } .gallery-hero__copy { max-width: 40rem; } .gallery-hero__media { max-width: 42rem; aspect-ratio: 4 / 3; } .gallery-guide__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gallery-guide__card:last-child { grid-column: 1 / -1; } .gallery-session { grid-template-columns: 1fr; gap: var(--space-4); } .gallery-session__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gallery-session__action { align-items: flex-start; } .gallery-session__action .button { width: auto; } .gallery-rhythm__grid { grid-template-columns: 1fr; } .gallery-rhythm__steps { grid-template-columns: 1fr; } .gallery-rhythm__dining { width: 100%; } .gallery-faq__list { width: 100%; } }
@media (max-width: 52.5rem) { .gallery-dining__grid { grid-template-columns: 1fr; } .gallery-dining__media { aspect-ratio: 4 / 3; } }
@media (max-width: 45rem) { .gallery-guide__grid { grid-template-columns: 1fr; } .gallery-guide__card:last-child { grid-column: auto; } .gallery-feature__details, .gallery-leaderboard__units, .gallery-dining__support, .gallery-registration__fields { grid-template-columns: 1fr; } .gallery-registration__full { grid-column: auto; } }
@media (max-width: 42.5rem) { .gallery-hero__actions .button, .gallery-closing__actions .button { width: 100%; } .gallery-hero__media { aspect-ratio: 4 / 3; } .gallery-session { padding: var(--space-4); } .gallery-session__meta { grid-template-columns: 1fr; } .gallery-session__action { align-items: stretch; } .gallery-session__action .button { width: 100%; } .gallery-rhythm__steps > li { grid-template-columns: 1fr; gap: var(--space-2); } .gallery-rhythm__steps > li > span { font-size: 1.7rem; } .gallery-closing__actions { width: 100%; } }
