/* Exhibitions and contact continue the same architectural gallery. */
.encounter-page { background: #1b1d18; }
.encounter-room { position: relative; isolation: isolate; overflow: clip; padding: calc(var(--site-top) + 74px) 12% 110px; }
.encounter-room::before { content: ''; position: absolute; z-index: -1; inset: 0 0 auto; height: 32px; background: linear-gradient(#11130f, transparent); pointer-events: none; }
.encounter-room[id] { scroll-margin-top: calc(0px - var(--site-top) - 20px); }
.encounter-scenery { position: absolute; z-index: -2; inset: -3%; pointer-events: none; background-position: center; background-size: cover; }
.encounter-scenery--exhibition { background-image: linear-gradient(180deg, rgb(9 11 8 / 35%), rgb(9 11 8 / 12%) 60%, rgb(9 11 8 / 48%)), url('images/exhibition-room.webp'); }
.encounter-scenery--wall { background-image: linear-gradient(90deg, rgb(12 14 10 / 42%), rgb(12 14 10 / 62%)), url('images/collection-wall.webp'); }
.encounter-scenery--artist { background-image: linear-gradient(90deg, rgb(9 11 8 / 12%), rgb(9 11 8 / 38%)), url('images/artist-room.webp'); }
.encounter-scenery--contact { background-image: linear-gradient(90deg, rgb(9 11 8 / 20%), rgb(9 11 8 / 22%) 50%, rgb(9 11 8 / 55%)), url('images/contact-room.webp'); }
.encounter-topline { position: absolute; top: calc(var(--site-top) + 24px); left: 12%; right: 12%; display: flex; align-items: baseline; justify-content: space-between; gap: 30px; }
.encounter-topline .eyebrow > span { display: inline-block; margin-inline: 17px; color: #988c76; }
.encounter-caption { color: #c3bba9; font: 400 var(--label-size)/1.8 var(--sans); }
.encounter-page h1 { font-size: clamp(38px, 3.9vw, 56px); line-height: 1.1; }
.encounter-page h2 { font-size: clamp(32px, 3vw, 44px); line-height: 1.14; }
.encounter-page h1 em, .encounter-page h2 em { color: #d5bc90; }
.encounter-copy { color: #d0c9bb; font: 400 15px/1.85 var(--sans); }
.encounter-copy p + p { margin-top: 22px; }
.encounter-next { position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; flex-direction: column; gap: 12px; min-height: 44px; color: #d9cfbc; font: 400 8px/1.6 var(--sans); text-transform: uppercase; letter-spacing: .13em; white-space: nowrap; }
.encounter-next > span:last-child { font: 24px/1 var(--serif); color: var(--gold); }
.encounter-exhibition { display: grid; align-items: center; min-height: max(780px, 100svh); }
.encounter-exhibition__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14%; align-items: center; }
.encounter-inscription { width: 100%; max-width: 350px; justify-self: center; text-align: center; text-shadow: 0 2px 5px rgb(0 0 0 / 40%); }
.encounter-inscription > .eyebrow { margin-bottom: 28px; }
.encounter-inscription__venue { font: 400 clamp(35px, 3.7vw, 50px)/1.06 var(--serif); letter-spacing: -.025em; }
.encounter-inscription__venue em { color: #d5bc90; }
.encounter-inscription__date { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 31px; color: #d5bc90; font: 400 clamp(60px, 5.5vw, 82px)/1 var(--serif); letter-spacing: -.045em; font-variant-numeric: lining-nums; }
.encounter-inscription__dash { width: 36px; height: 1px; background: var(--gold); }
.encounter-inscription__date--word { font-size: clamp(32px, 3.4vw, 48px); letter-spacing: -.02em; text-wrap: balance; }
.exhibition-entry__link { color: var(--gold); font: 400 11px/1.8 var(--sans); }
.encounter-inscription__month { margin-top: 13px; color: #d8cbb6; font: 400 10px/1.8 var(--sans); text-transform: uppercase; letter-spacing: .2em; }
.encounter-inscription__artist { width: fit-content; margin: 35px auto 0; border-top: 1px solid rgb(196 164 116 / 38%); padding-top: 20px; color: #c9bfac; font: 400 10px/1.6 var(--sans); }
.encounter-exhibition__copy { max-width: 430px; }
.encounter-exhibition__copy > .eyebrow { margin-bottom: 21px; }
.encounter-exhibition__copy h1 { margin-bottom: 25px; }
.encounter-event-facts { display: grid; gap: 13px; margin-top: 25px; color: #d1c3aa; font: 400 11px/1.8 var(--sans); }
.encounter-exhibition__copy > .text-link { margin-top: 28px; }
.encounter-history { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 12%; padding-block: 125px 130px; }
/* Sticky natively; under the smooth scroller the motion engine pins it instead (data-sticky). */
.encounter-history__introduction { position: sticky; top: calc(var(--site-top) + 50px); height: fit-content; }
.has-smoother .encounter-history__introduction { position: static; top: auto; }
.encounter-history__introduction h2 { margin-top: 24px; }
.encounter-history__introduction .encounter-copy { margin-top: 28px; }
.encounter-history__introduction .text-link { margin-top: 31px; }
.encounter-history__timeline { position: relative; }
.encounter-history__timeline::before { content: ''; position: absolute; top: 0; bottom: 0; left: 54px; width: 1px; background: linear-gradient(transparent, rgb(196 164 116 / 35%) 4%, rgb(196 164 116 / 20%) 96%, transparent); }
.encounter-history .exhibition-entry { position: relative; grid-template-columns: 40px minmax(0, 1fr); gap: 34px; border-bottom: 0; padding: 30px 0 40px; }
.encounter-history .exhibition-entry:first-child { padding-top: 0; }
.encounter-history .exhibition-entry::before { content: ''; position: absolute; left: 52px; top: 42px; width: 5px; height: 5px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 6px rgb(196 164 116 / 6%); }
.encounter-history .exhibition-entry:first-child::before { top: 12px; }
.encounter-history .exhibition-entry .eyebrow { padding-top: 7px; }
.encounter-history .exhibition-entry h2 { font-size: 28px; margin: 0 0 10px; }
.encounter-history .exhibition-entry__date { margin-bottom: 13px; color: #c3aa82; font: 400 10px/1.8 var(--sans); }
.encounter-history .exhibition-entry p:last-child { color: #c7c0b2; font: 400 15px/1.85 var(--sans); }
.encounter-distinction { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 10%; align-items: center; min-height: max(720px, 100svh); padding-block: 130px; }
.encounter-distinction__copy > .eyebrow { margin-bottom: 22px; }
.encounter-distinction__status { margin-top: 26px; color: #d5bc90; font: 400 12px/1.8 var(--sans); }
.encounter-distinction__copy .encounter-copy { margin-top: 20px; }
.encounter-distinction__copy .encounter-caption { margin-top: 22px; }
.encounter-distinction__copy .text-link { margin-top: 22px; font-size: 9px; letter-spacing: .12em; }
.encounter-certificate { width: 100%; max-width: 600px; }
.encounter-certificate > a { display: block; padding: 7px; border: 1px solid #b59b67; box-shadow: inset 0 0 0 1px #514330, inset 0 0 0 3px #b39a69, 5px 8px 8px rgb(0 0 0 / 42%), 14px 25px 27px -7px rgb(0 0 0 / 50%); }
.encounter-certificate img { width: 100%; height: auto; }
.encounter-certificate figcaption { padding-top: 22px; text-align: center; color: #c5bca8; font: 400 9px/1.8 var(--sans); }
.encounter-press { min-height: max(710px, 90svh); display: grid; align-items: center; padding-left: 53%; }
.encounter-press .encounter-scenery--contact { background-position: center top; }
.encounter-press__copy { max-width: 460px; }
.encounter-press__copy > .eyebrow { margin-bottom: 21px; }
.encounter-press-link { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 35px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }
.encounter-press-link > span:first-child { display: grid; gap: 12px; }
.encounter-press-link + .encounter-press-link { margin-top: 23px; }
.encounter-press-link__title { color: #e4dcca; font: 400 25px/1.22 var(--serif); }
.encounter-press-link > span[aria-hidden] { color: var(--gold); font: 30px/1 var(--serif); transition: transform 200ms var(--ease-out); }
.encounter-press__invitation { margin-top: 31px; }
.encounter-press__invitation .text-link { margin-top: 20px; }

/* A closed door: the 404 room shares the gallery's wall and guides the visitor back. */
.not-found__room { display: grid; align-items: center; min-height: 100svh; }
.not-found__copy { max-width: 620px; }
.not-found__copy > .eyebrow { margin-bottom: 22px; }
.not-found__copy h1 { margin-bottom: 25px; }
.not-found__links { display: flex; flex-wrap: wrap; gap: 14px 44px; margin-top: 34px; }
@media (max-width: 760px) { .not-found__links { flex-direction: column; gap: 14px; } }

/* The form remains visible and still; the architecture carries the motion. */
.encounter-contact { min-height: 100svh; padding-top: calc(var(--site-top) + 110px); padding-bottom: 110px; }
.encounter-contact .encounter-scenery--contact { background-position: 33% center; background-image: linear-gradient(90deg, rgb(9 11 8 / 64%) 0%, rgb(9 11 8 / 64%) 45%, rgb(9 11 8 / 28%) 65%, rgb(9 11 8 / 55%)), url('images/contact-room.webp'); }
.encounter-contact__layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 12%; align-items: start; }
.encounter-contact .eyebrow { color: #d5bc90; }
.encounter-contact .encounter-caption { color: #ddd5c5; }
.encounter-contact__introduction .encounter-copy { color: #eee8dc; }
.encounter-contact__introduction > .eyebrow { margin-bottom: 22px; }
.encounter-contact__introduction h1 { margin-bottom: 30px; }
.encounter-intents { margin-top: 31px; }
.encounter-intents > .eyebrow { margin-bottom: 15px; }
.encounter-intents > a { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 48px; border-bottom: 1px solid rgb(213 188 144 / 38%); color: #eee8dc; font: 400 18px/1.4 var(--serif); transition: color 160ms ease; }
.encounter-intents > a > span { color: #d5bc90; font-size: 21px; transition: transform 200ms var(--ease-out); }
.encounter-contact__social { margin-top: 34px; }
.encounter-contact__social .social-links { margin-top: 12px; }
.encounter-contact__form { position: relative; padding: 38px 35px 40px; border: 1px solid rgb(196 164 116 / 45%); background: rgb(16 15 12 / 34%); -webkit-backdrop-filter: blur(14px) saturate(1.05); backdrop-filter: blur(14px) saturate(1.05); box-shadow: 12px 22px 35px rgb(0 0 0 / 18%); }
/* Frosted glass: the room shows through, softened enough for the fields to stay legible. */
.encounter-contact__form .form-field input, .encounter-contact__form .form-field textarea { background: rgb(10 10 8 / 28%); border-color: rgb(196 164 116 / 38%); }
.encounter-contact__form::before { content: ''; position: absolute; pointer-events: none; inset: 5px; border: 1px solid rgb(196 164 116 / 12%); }
.encounter-contact .contact-form-panel { scroll-margin-top: 18px; }
.encounter-contact .contact-form-panel h2 { font-size: 30px; margin: 15px 0 30px; }
.encounter-contact .form-field input, .encounter-contact .form-field textarea { background: rgb(14 17 12 / 27%); border-color: #635b48; }
.encounter-contact .form-field { margin-bottom: 22px; }
.encounter-contact .form-field label { font-size: 11px; margin-bottom: 10px; }
.encounter-contact .form-field textarea { min-height: 156px; }
.encounter-contact .contact-form__note { font-size: 10px; }
.encounter-contact .contact-form__submit { margin-top: 20px; }
@media (hover: hover) and (pointer: fine) {
    .encounter-press-link:hover > span[aria-hidden], .encounter-intents > a:hover > span { transform: translate(2px, -2px); }
    .encounter-intents > a:hover { color: #d5bc90; }
}
@media (max-width: 1100px) and (min-width: 761px) {
    .encounter-room { padding-inline: 9%; }
    .encounter-topline { left: 9%; right: 9%; }
    .encounter-exhibition__layout { gap: 10%; }
    .encounter-history { gap: 8%; }
    .encounter-distinction { gap: 7%; grid-template-columns: .9fr 1.1fr; }
    .encounter-press { padding-left: 49%; }
    .encounter-contact__layout { gap: 7%; }
    .encounter-contact__form { padding-inline: 25px; }
    .encounter-contact .contact-form__pair { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 760px) {
    .encounter-room { padding: calc(var(--site-top) + 95px) 28px 95px; }
    .encounter-topline { top: calc(var(--site-top) + 27px); left: 28px; right: 28px; align-items: start; gap: 15px; }
    .encounter-topline .eyebrow > span { margin-inline: 8px; }
    .encounter-topline .encounter-caption { font-size: var(--label-size); }
    .encounter-page h1 { font-size: 39px; }
    .encounter-page h2 { font-size: 33px; }
    .encounter-copy, .encounter-history .exhibition-entry p:last-child { font-size: 14px; }
    .encounter-scenery--exhibition { background-position: 55% center; }
    .encounter-scenery--wall { background-size: auto 100%; }
    .encounter-scenery--artist { background-position: 30% center; }
    .encounter-exhibition { min-height: 0; }
    .encounter-exhibition__layout { display: flex; flex-direction: column; gap: 55px; }
    .encounter-inscription { max-width: 280px; }
    .encounter-inscription > .eyebrow { margin-bottom: 20px; }
    .encounter-inscription__venue { font-size: 38px; }
    .encounter-inscription__date { font-size: 64px; margin-top: 25px; }
    .encounter-inscription__artist { margin-top: 25px; padding-top: 18px; font-size: 9px; }
    .encounter-exhibition__copy { width: 100%; }
    .encounter-exhibition__copy h1 { margin-bottom: 22px; }
    .encounter-next { font-size: 7px; }
    .encounter-history { display: block; padding-block: 80px; }
    .encounter-history__introduction { position: static; }
    .encounter-history__timeline { margin-top: 48px; }
    .encounter-history__timeline::before { left: 41px; }
    .encounter-history .exhibition-entry { grid-template-columns: 30px minmax(0, 1fr); gap: 29px; padding-bottom: 32px; }
    .encounter-history .exhibition-entry::before { left: 39px; }
    .encounter-history .exhibition-entry h2 { font-size: 25px; }
    .encounter-history .exhibition-entry__date { font-size: 9px; }
    .encounter-distinction { min-height: 0; display: flex; flex-direction: column; align-items: stretch; gap: 43px; padding-block: 85px; }
    .encounter-certificate figcaption { padding-top: 18px; font-size: 8px; }
    .encounter-press { min-height: 760px; padding-top: 245px; align-items: end; }
    .encounter-press-link__title { font-size: 24px; }
    .encounter-contact { padding-top: calc(var(--site-top) + 95px); padding-bottom: 75px; }
    .encounter-contact .encounter-scenery--contact { background-size: auto 100%; background-position: 58% center; background-image: linear-gradient(rgb(9 11 8 / 64%), rgb(9 11 8 / 72%)), url('images/contact-room.webp'); }
    .encounter-contact__layout { display: flex; flex-direction: column; gap: 45px; }
    .encounter-contact__introduction, .encounter-contact__form { width: 100%; }
    .encounter-contact__introduction h1 { margin-bottom: 25px; }
    .encounter-contact__form { padding: 29px 20px 30px; }
    .encounter-contact .contact-form-panel h2 { font-size: 28px; margin-bottom: 25px; }
    .encounter-contact .form-field input, .encounter-contact .form-field textarea { font-size: 16px; padding-inline: 12px; }
    .encounter-contact .contact-form__submit { font-size: 10px; gap: 18px; }
}
@media (max-width: 359px) {
    .encounter-room { padding-inline: 22px; }
    .encounter-topline { left: 22px; right: 22px; }
    .encounter-topline .encounter-caption { max-width: 65px; text-align: right; }
    .encounter-topline .eyebrow > span { margin-inline: 5px; }
    .encounter-contact__form { padding-inline: 16px; }
    .encounter-page h1 { font-size: 36px; }
}
@media (prefers-reduced-motion: reduce) {
    .encounter-scenery { transform: none !important; }
    .encounter-intents > a > span, .encounter-press-link > span[aria-hidden] { transition: none; }
}
