/* Contact form: sits above the footer, cream paper + thick night-brown rules like the FAQ */
.ol-contact{background:var(--paper-2);padding:clamp(56px,9vw,120px) 0;border-top:6px solid var(--night);position:relative}
.ol-contact::before{content:"";position:absolute;left:0;right:0;top:-6px;height:6px;background:linear-gradient(90deg,var(--red) 0 33.3%,var(--gold) 33.3% 66.6%,var(--green) 66.6%)}
.ol-contact .oc-in{display:grid;gap:clamp(28px,5vw,64px);grid-template-columns:1fr;max-width:1000px}
@media(min-width:860px){.ol-contact .oc-in{grid-template-columns:.9fr 1.3fr;align-items:start}}
.ol-contact h2{color:var(--night)}
.ol-contact .oc-copy p{font-size:1.1rem;line-height:1.55;max-width:34ch;margin-top:16px;color:var(--night)}
.ol-contact .oc-copy a{color:var(--red);font-family:var(--fb);text-transform:uppercase;letter-spacing:.03em;font-size:.95rem;text-decoration:none;border-bottom:3px solid var(--gold)}
.ol-contact form{background:#fff;border:3px solid var(--night);border-radius:18px;box-shadow:8px 8px 0 var(--night);padding:clamp(20px,3.5vw,34px);display:grid;gap:16px}
.ol-contact .oc-row{display:grid;gap:16px}
@media(min-width:560px){.ol-contact .oc-row{grid-template-columns:1fr 1fr}}
.ol-contact label{display:grid;gap:6px;font-family:var(--fb);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--night)}
.ol-contact input,.ol-contact select,.ol-contact textarea{font:inherit;font-family:var(--f);font-size:1rem;text-transform:none;letter-spacing:0;color:var(--night);background:var(--paper-2);border:3px solid var(--night);border-radius:12px;padding:13px 14px;width:100%;box-sizing:border-box;transition:box-shadow .2s,background .2s}
.ol-contact textarea{min-height:140px;resize:vertical}
.ol-contact input:focus,.ol-contact select:focus,.ol-contact textarea:focus{outline:0;background:#fff;box-shadow:4px 4px 0 var(--sunset)}
.ol-contact .oc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ol-contact .oc-btn{justify-self:start;margin-top:4px;font-size:1.05rem;padding:16px 34px;background:var(--gold);color:var(--night)}
.ol-contact .oc-btn[disabled]{opacity:.6;cursor:wait}
.ol-contact .oc-status{font-family:var(--fb);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;min-height:1.2em}
.ol-contact .oc-status.ok{color:var(--green)}
.ol-contact .oc-status.err{color:var(--red)}
