.galeria-page { background: var(--color-paper); }
.galeria-page .section { position: relative; }
.galeria-page .eyebrow { margin-bottom: var(--space-3); }
.galeria-page h2 { font-size: clamp(2rem, 3.2vw, 2.5rem); }
.galeria-page .image-frame { overflow: hidden; }
.galeria-image-button { display: block; width: 100%; min-width: 0; padding: 0; border: 0; background: transparent; text-align: left; }
.galeria-image-button img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-reveal); }
.galeria-image-button:hover .image-frame { border-color: var(--color-cyan); }
.galeria-image-button:hover img { transform: scale(1.02); }
.galeria-figure { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); margin: 0; }
.galeria-figure figcaption { display: flex; flex-direction: column; min-width: 0; gap: var(--space-1); margin: 0; max-width: 52ch; }
.galeria-figure figcaption strong { font-family: var(--font-heading); font-size: var(--text-sm); }
.galeria-hero__layout, .galeria-tactical__layout, .galeria-operator__layout, .galeria-base__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
.galeria-hero__copy, .galeria-hero__media, .galeria-tactical__copy, .galeria-tactical__media, .galeria-operator__copy, .galeria-operator__media, .galeria-base__copy, .galeria-base__media { min-width: 0; width: 100%; }
.galeria-hero__copy { display: flex; flex-direction: column; gap: var(--space-5); }
.galeria-hero__copy > * { margin: 0; }
.galeria-hero__copy h1 { font-size: clamp(2.25rem, 6vw, 3.5rem); max-width: 22ch; }
.galeria-hero__copy .lead { max-width: 50ch; }
.galeria-hero__actions { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); width: 100%; }
.galeria-hero__media img { aspect-ratio: 16 / 10; object-position: 72% center; }
.galeria-reader__intro { max-width: 70ch; padding-left: var(--space-5); border-left: 3px solid var(--color-cyan); }
.galeria-reader__cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-7); }
.galeria-reader-card { position: relative; display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); padding: var(--space-5); border: var(--border-default); background: var(--color-white); }
.galeria-reader-card::before, .galeria-path-card::before { position: absolute; top: -1px; left: -1px; width: 2.25rem; height: 3px; background: var(--color-cyan); content: ''; transition: width var(--transition-reveal); }
.galeria-reader-card:hover::before, .galeria-path-card:hover::before { width: 4rem; }
.galeria-reader-card > * { margin: 0; }
.galeria-reader-card h3 { font-size: 1.25rem; }
.galeria-reader-card__index { color: var(--color-blue); font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.galeria-tactical__copy, .galeria-operator__copy { display: flex; flex-direction: column; min-width: 0; gap: var(--space-5); }
.galeria-tactical__copy > *, .galeria-operator__copy > * { margin: 0; }
.galeria-tactical__copy p { max-width: 55ch; }
.galeria-tactical__copy .button { width: fit-content; }
.galeria-tactical__media img, .galeria-base__media img { aspect-ratio: 3 / 2; object-position: center; }
.galeria-operator__media { max-width: 26rem; }
.galeria-operator__media img { aspect-ratio: 1 / 1; object-position: center top; }
.galeria-operator__rule { display: none; }
.galeria-operator__copy p { max-width: 52ch; }
.galeria-text-link { width: fit-content; font-weight: 700; text-decoration-thickness: 1px; }
.galeria-text-link span { display: inline-block; transition: transform var(--transition-control); }
.galeria-text-link:hover span { transform: translateX(2px); }
.galeria-base__intro { max-width: 60ch; }
.galeria-base__layout { margin-top: var(--space-7); }
.galeria-base__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.galeria-base__copy .button { width: fit-content; }
.galeria-urban__intro { max-width: 55ch; }
.galeria-urban__media { margin-top: var(--space-7); }
.galeria-urban__media img { aspect-ratio: 16 / 10; object-position: center; }
.galeria-urban__caption { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); max-width: none !important; }
.galeria-urban__caption > span { display: flex; flex-direction: column; min-width: 0; gap: var(--space-1); }
.galeria-urban__links { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); margin-top: var(--space-5); }
.galeria-urban__links > a { display: flex; flex-direction: column; min-width: 0; gap: var(--space-1); padding: var(--space-4); border: var(--border-default); background: var(--color-white); color: var(--color-blue); font-weight: 700; text-decoration: none; }
.galeria-urban__links > a:hover { border-color: var(--color-cyan); background: var(--color-blue-wash); }
.galeria-urban__links span { color: var(--color-slate); font-size: var(--text-sm); font-weight: 400; }
.galeria-paths__intro { max-width: 600px; margin-inline: auto; text-align: center; }
.galeria-paths__intro .eyebrow { justify-content: center; }
.galeria-paths__intro .lead { max-width: 55ch; margin-inline: auto; }
.galeria-paths__cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-7); }
.galeria-path-card { position: relative; display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); padding: var(--space-5); border: var(--border-default); background: var(--color-white); transition: transform var(--transition-control), border-color var(--transition-control); }
.galeria-path-card:hover { border-color: var(--color-cyan); transform: translateY(-2px); }
.galeria-path-card > * { margin: 0; }
.galeria-path-card h3 { font-size: 1.25rem; }
.galeria-path-card p { max-width: 42ch; }
.galeria-path-card > div { display: flex; flex-direction: column; min-width: 0; gap: var(--space-2); }
.galeria-path-card small { padding-left: var(--space-3); border-left: 3px solid var(--color-orange); color: var(--color-ink); }
.galeria-clarity__content { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); max-width: 760px; }
.galeria-clarity__panel { position: relative; display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); padding: var(--space-5); border: var(--border-default); background: var(--color-white); }
.galeria-clarity__panel::before { position: absolute; top: -1px; left: -1px; width: 3rem; height: 3px; background: var(--color-blue); content: ''; }
.galeria-clarity__panel--notice { border-left: 3px solid var(--color-orange); background: var(--color-orange-wash); }
.galeria-clarity__panel--notice::before { display: none; }
.galeria-clarity__panel > * { margin: 0; }
.galeria-clarity__panel h2 { font-size: 1.5rem; }
.galeria-clarity__panel p { max-width: 58ch; }
.galeria-final__content { display: flex; flex-direction: column; align-items: center; min-width: 0; gap: var(--space-5); max-width: 680px; margin-inline: auto; text-align: center; }
.galeria-final__content > * { margin: 0; }
.galeria-final__content h2 { font-size: clamp(1.875rem, 4vw, 2.5rem); }
.galeria-final__content > p:not(.galeria-final__notice) { max-width: 48ch; }
.galeria-final__content .button { width: min(100%, 360px); }
.galeria-final__notice { max-width: 48ch; padding-left: var(--space-3); border-left: 3px solid var(--color-orange); color: var(--color-ink); font-size: var(--text-sm); text-align: left; }
.galeria-modal[hidden] { display: none; }
.galeria-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: var(--space-4); }
.galeria-modal-open { overflow: hidden; }
.galeria-modal__backdrop { position: absolute; inset: 0; background: rgb(16 24 32 / .78); }
.galeria-modal__dialog { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; width: min(100%, 72rem); max-height: calc(100vh - 2rem); min-width: 0; padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-floating); }
.galeria-modal__dialog figure { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); margin: 0; }
.galeria-modal__dialog img { width: 100%; max-height: calc(100vh - 12rem); object-fit: contain; }
.galeria-modal__dialog figcaption { display: flex; flex-direction: column; min-width: 0; gap: var(--space-1); margin: 0; }
.galeria-modal__dialog figcaption strong { color: var(--color-ink); font-family: var(--font-heading); }
.galeria-modal__close, .galeria-modal__previous, .galeria-modal__next { min-width: 2.75rem; min-height: 2.75rem; border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); color: var(--color-blue); font-size: 1.5rem; font-weight: 700; }
.galeria-modal__close { position: absolute; top: var(--space-2); right: var(--space-2); z-index: 1; }
.galeria-modal__previous { margin-right: var(--space-3); }
.galeria-modal__next { margin-left: var(--space-3); }
@media (min-width: 40rem) {
.galeria-reader__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.galeria-reader-card:nth-child(3) { grid-column: 1 / -1; max-width: calc(50% - var(--space-2)); }
.galeria-urban__caption { grid-template-columns: minmax(15.625rem, .7fr) minmax(0, 1.3fr); }
.galeria-urban__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.galeria-paths__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.galeria-path-card--download { grid-column: 1 / -1; }
}
@media (min-width: 60rem) {
.galeria-reader__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.galeria-reader-card:nth-child(3) { grid-column: auto; max-width: none; }
.galeria-paths__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.galeria-path-card--download { grid-column: auto; }
}
@media (min-width: 64rem) {
.galeria-hero__layout { grid-template-columns: minmax(25rem, 5fr) minmax(35rem, 7fr); align-items: center; gap: var(--space-8); }
.galeria-hero__copy { max-width: 510px; }
.galeria-tactical__layout { grid-template-columns: minmax(22.5rem, .8fr) minmax(32.5rem, 1.2fr); align-items: center; gap: var(--space-9); }
.galeria-operator__layout { grid-template-columns: minmax(0, 42fr) minmax(2.5rem, 16fr) minmax(22.5rem, 42fr); align-items: center; }
.galeria-operator__rule { display: block; width: 3px; min-width: 3px; height: 7rem; justify-self: center; background: var(--color-cyan); }
.galeria-operator__copy { max-width: 500px; }
.galeria-base__layout { grid-template-columns: minmax(24.375rem, .9fr) minmax(33.125rem, 1.1fr); align-items: start; gap: var(--space-8); }
.galeria-base__copy { padding-top: var(--space-2); }
}
@media (max-width: 63.9375rem) {
.galeria-hero__copy h1 { max-width: 20ch; }
.galeria-hero__media { order: 2; }
.galeria-operator__media { order: 1; }
.galeria-operator__copy { order: 3; }
.galeria-base__copy { order: 1; }
.galeria-base__media { order: 2; }
}
@media (max-width: 39.9375rem) {
.galeria-page h2 { font-size: clamp(2rem, 8vw, 2.375rem); }
.galeria-reader__intro { padding-top: var(--space-5); padding-left: 0; border-top: 3px solid var(--color-cyan); border-left: 0; }
.galeria-hero__actions .button, .galeria-tactical__copy .button, .galeria-base__copy .button { width: 100%; }
.galeria-modal__dialog { grid-template-columns: minmax(0, 1fr); padding: var(--space-4); }
.galeria-modal__previous, .galeria-modal__next { position: absolute; top: 50%; z-index: 1; margin: 0; transform: translateY(-50%); }
.galeria-modal__previous { left: var(--space-2); }
.galeria-modal__next { right: var(--space-2); }
.galeria-modal__dialog img { max-height: calc(100vh - 14rem); }
}
@media (prefers-reduced-motion: reduce) {
.galeria-image-button:hover img, .galeria-path-card:hover, .galeria-text-link:hover span { transform: none; }
}