.contact-page { padding: clamp(3rem, 7vw, 7rem) 0; }
.contact-grid { align-items: stretch; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); }
.contact-copy { background: var(--color-surface); padding: clamp(2.25rem, 6vw, 5rem); }
.contact-copy > p:not(.eyebrow) { color: var(--color-muted); font-size: 1.08rem; margin: 1.6rem 0 2.4rem; max-width: 550px; }
.contact-details { border-top: 1px solid var(--color-line); display: grid; gap: 2rem; grid-template-columns: repeat(2, 1fr); margin-bottom: 2.1rem; padding-top: 2.1rem; }
.contact-details h2 { font-family: var(--font-body); font-size: .78rem; font-weight: 600; letter-spacing: .14em; margin-bottom: .7rem; text-transform: uppercase; }
.contact-details p { color: var(--color-muted); font-size: .93rem; margin-bottom: .4rem; }
.contact-details a { color: var(--color-accent-dark); font-weight: 600; }
.contact-details a:hover { text-decoration: underline; text-underline-offset: .2rem; }
.contact-copy address { border-top: 1px solid var(--color-line); color: var(--color-muted); font-size: .93rem; font-style: normal; line-height: 1.8; padding-top: 2.1rem; }
.contact-copy address strong { color: var(--color-text); font-family: var(--font-heading); font-size: 1.35rem; font-weight: 500; }
.contact-image { background: #e8d9d2; margin: 0; min-height: 100%; overflow: hidden; position: relative; }
.contact-image img { height: 100%; min-height: 620px; object-fit: cover; width: 100%; }
.contact-image::after { background: linear-gradient(0deg, rgb(43 28 33 / 66%), transparent 46%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.contact-image figcaption { bottom: 2.2rem; color: #fff; font-family: var(--font-heading); font-size: clamp(1.55rem, 3vw, 2.3rem); left: 2.2rem; line-height: 1.2; max-width: 310px; position: absolute; z-index: 1; }
@media (max-width: 720px) { .contact-page { padding: 2rem 0; } .contact-grid, .contact-details { grid-template-columns: 1fr; } .contact-copy { padding: 2.2rem 1.5rem; } .contact-image img { min-height: 380px; } .contact-image figcaption { bottom: 1.6rem; left: 1.5rem; } }
