/* Noir: full-bleed photos, no gaps, almost no chrome. */
.welcome { min-height: 100dvh; display: flex; flex-direction: column; justify-content: flex-end; }
.welcome .cover { position: fixed; inset: 0; margin: 0; z-index: -1; }
.welcome .cover img { width: 100%; height: 100%; object-fit: cover; }
.welcome .cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, var(--color-scrim) 0%, var(--color-scrim) 42%, var(--color-bg) 74%); }
.welcome .lang-bar { position: absolute; top: max(1rem, env(safe-area-inset-top)); right: 0; }
.names .amp { font-family: var(--font-display); font-style: italic; text-transform: none; color: var(--color-accent); margin-inline: 0.15em; }
.names span { display: inline; }
.names .name-b { display: block; }
.names .amp { display: block; font-size: 0.5em; line-height: 1.2; }
.primary { background: transparent; color: var(--color-accent); border: 1px solid var(--color-accent); text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.875rem; }
.primary:hover { background: var(--color-accent); color: var(--color-on-accent); }
.field input { background: transparent; border-width: 0 0 1px; padding-inline: 0; }
.photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--photo-gap); }
.photo-grid > li[data-orientation="landscape"] { grid-column: span 2; }
.photo-card { position: relative; height: 100%; }
.photo-card img { height: 100%; object-fit: cover; }
.photo-card figcaption { position: absolute; inset: auto 0 0; padding: 2.5rem 0.75rem 0.625rem; background: linear-gradient(to top, var(--color-scrim), transparent); color: var(--color-camera-ink); font-size: 0.8125rem; }
.photo-card figcaption .muted { color: var(--color-camera-ink); }
.ks-cover { position: relative; min-height: 100dvh; display: flex; flex-direction: column; justify-content: flex-end; padding: var(--page-pad); }
.ks-cover figure { position: absolute; inset: 0; margin: 0; z-index: -1; }
.ks-cover figure img { width: 100%; height: 100%; object-fit: cover; }
.ks-cover figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 40%, var(--color-bg) 92%); }
.ks-recap .photo-grid > li { grid-column: span 2; }
