.contact-page{min-height:calc(100vh - 4.5rem);display:grid;grid-template-columns:minmax(14rem,.8fr) minmax(18rem,1.2fr);gap:clamp(3rem,8vw,9rem);align-items:start;padding:clamp(4rem,9vw,8rem) var(--pad)}
.contact-details{padding-top:.35rem}
.contact-intro{font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(2.1rem,4.8vw,5rem);line-height:.98;letter-spacing:-.045em;max-width:10ch;margin:0 0 3rem}
.contact-address{display:inline-flex;align-items:center;gap:.8rem;font-size:clamp(1rem,1.35vw,1.2rem);border-bottom:1px solid rgba(242,234,220,.5);padding-bottom:.2rem}
.contact-page .social-links{display:flex;gap:.8rem;margin:1.7rem 0 0}
.contact-page .contact-icon{width:2.15rem;height:2.15rem;flex-basis:2.15rem}
.contact-page .contact-instagram:before{width:1.35rem;height:1.35rem}
.contact-page .contact-facebook{font-size:1.85rem}
.contact-form{display:grid;gap:1.4rem}
.form-field{display:grid;gap:.45rem}
.form-field label{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.form-field input,.form-field textarea{width:100%;border:0;border-bottom:1px solid rgba(242,234,220,.6);border-radius:0;background:transparent;color:var(--cream);font:inherit;font-size:1.05rem;padding:.7rem 0;outline:none}
.form-field textarea{min-height:10rem;resize:vertical}
.form-field input:focus,.form-field textarea:focus{border-bottom-color:var(--cream)}
.contact-submit{justify-self:start;margin-top:.6rem;border:1px solid var(--cream);background:transparent;color:var(--cream);font:600 .74rem/1 Inter,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 1.3rem;cursor:pointer}
.contact-submit:hover,.contact-submit:focus-visible{background:var(--cream);color:var(--red)}
@media(max-width:760px){.contact-page{grid-template-columns:1fr;padding-top:3rem}.contact-intro{margin-bottom:2rem}.contact-form{padding-bottom:2rem}}
