/* Page-specific styles only. Shared styles are in assets/css/ */
.contact{padding:0;display:grid;grid-template-columns:1fr 1.15fr}
.c-left{background:var(--espresso);color:var(--ivory);padding:clamp(80px,10vw,150px) var(--pad)}
.c-left .label{color:var(--gold)}
.c-left h2{font-size:clamp(3rem,6vw,5.6rem);font-weight:400;margin:22px 0 28px}
.c-left h2 em{color:var(--gold)}
.c-left>p{max-width:420px;opacity:.78;margin-bottom:56px}
.detail{display:grid;grid-template-columns:110px 1fr;gap:6px 20px;padding:22px 0;border-top:1px solid rgba(207,195,179,.22)}
.detail span{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);padding-top:6px}
.detail div{font-family:var(--serif);font-size:1.35rem;line-height:1.4}
.detail a:hover{color:var(--gold)}
.c-right{padding:clamp(80px,10vw,150px) var(--pad);background:var(--ivory)}
.c-right h3{font-size:clamp(2rem,3.4vw,3rem);font-weight:500;margin-bottom:10px}
.c-right>p{color:var(--muted);margin-bottom:44px}
form{display:grid;grid-template-columns:1fr 1fr;gap:34px 30px}
.f{display:flex;flex-direction:column}
.f.full{grid-column:1/-1}
.f label{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:var(--brass);margin-bottom:6px}
.f input,.f select,.f textarea{background:none;border:0;border-bottom:1px solid var(--taupe);padding:10px 0;font:inherit;font-size:1.05rem;color:var(--espresso);outline:none;border-radius:0;transition:border-color .3s;width:100%}
.f textarea{resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--brass)}
.f.err input,.f.err select{border-color:var(--clay)}
.f .em{font-size:.75rem;color:var(--clay);min-height:1em;margin-top:4px}
.chk{display:flex;gap:12px;font-size:.88rem;color:var(--muted);align-items:flex-start}
.chk input{margin-top:6px;accent-color:var(--brass)}
.btn{grid-column:1/-1;justify-self:start;background:var(--espresso);color:var(--ivory);border:0;padding:20px 46px;font:inherit;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background .3s}
#msg{grid-column:1/-1;font-family:var(--serif);font-size:1.4rem;color:var(--clay);font-style:italic}
.contact .c-left,.contact .c-right{padding-top:clamp(60px,7vw,100px);padding-bottom:clamp(60px,7vw,100px)}
.c-left h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.mapwrap{padding:0}
.mapbox{height:380px;background:var(--sand);display:grid;place-items:center;color:var(--muted);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
@media(max-width:960px){.contact{grid-template-columns:1fr}}
@media(max-width:600px){form{grid-template-columns:1fr}.detail{grid-template-columns:1fr}}
