.contact-intro { padding-block: clamp(3rem,6vw,7rem) clamp(4rem,8vw,9rem); }
.contact-page__label { color: var(--gold); font-size: .8rem; margin: 0 0 2rem; }
.contact-intro h1 { max-width: 1200px; font-size: clamp(3rem,6.6vw,7.2rem); }
.contact-intro__bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: clamp(3rem,6vw,6rem); align-items: end; }
.contact-intro__bottom > p:first-child { margin: 0; max-width: 540px; color: #bbbdb8; font-size: clamp(1rem,1.3vw,1.15rem); line-height: 1.85; }
.contact-intro__invitation { margin: 0; justify-self: end; font-size: clamp(1.8rem,3vw,3rem); line-height: 1.2; letter-spacing: -.04em; }
.contact-intro__invitation em { font-family: var(--serif); color: var(--gold); font-weight: 400; }
.contact-conversation { color-scheme: light; background: var(--paper); color: #222621; padding-block: clamp(4rem,7vw,8rem); }
.contact-conversation__layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem,7vw,8rem); }
.contact-page h2 { font-size: clamp(2.4rem,4.5vw,4.7rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 400; margin: 0 0 2rem; }
.contact-page h2 em { font-family: var(--serif); font-weight: 400; color: #7a6135; }
.contact-conversation__opening > p { max-width: 440px; font-size: 1.05rem; line-height: 1.8; color: #575b54; }
.contact-conversation figure { margin: 3rem 0 0; display: flex; gap: 1.5rem; align-items: center; }
.contact-conversation figure img { width: 92px; height: 116px; object-fit: cover; object-position: center 8%; filter: grayscale(1); mix-blend-mode: multiply; }
.contact-conversation figcaption { font-size: .88rem; line-height: 1.8; color: #575b54; }
.contact-conversation figcaption strong { font-weight: 400; color: #222621; }
.contact-prelude { border-top: 1px solid #b5ad9e; padding-top: 1.2rem; }
.contact-prelude__availability { color: #706044; font-size: .8rem; line-height: 1.6; margin: 0 0 2.5rem; }
.contact-prelude h3 { font-size: clamp(1.8rem,2.5vw,2.65rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.15; margin: 0; }
.contact-prelude ul { list-style: none; padding: 0; margin: 2.5rem 0; }
.contact-prelude li { padding: 1rem 0; border-bottom: 1px solid #d2cbbd; font-size: 1.1rem; line-height: 1.6; }
.contact-prelude > p:last-child { color: #575b54; font-size: .95rem; line-height: 1.8; }
.contact-next { padding-block: clamp(4rem,7vw,8rem); }
.contact-next h2 em { color: var(--gold); }
.contact-next ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem; list-style: none; padding: 0; margin: 4rem 0 3rem; }
.contact-next li { border-top: 1px solid var(--rule); padding-top: 1.5rem; }
.contact-next h3 { font-size: 1.5rem; font-weight: 400; line-height: 1.25; margin: 0 0 1rem; letter-spacing: -.025em; }
.contact-next li p { color: #b8bbb3; line-height: 1.8; font-size: .95rem; margin: 0; }
@media (max-width: 800px) { .contact-conversation__layout, .contact-intro__bottom { grid-template-columns: 1fr; } .contact-intro__invitation { justify-self: start; } .contact-next ol { grid-template-columns: 1fr; margin-top: 3rem; } }
@media (max-width: 400px) { .contact-intro h1 { font-size: 2.7rem; } .contact-conversation figure { gap: 1rem; } .contact-conversation figcaption { font-size: .8rem; } }
