/* ============================================================
   OSW Contact — verbatim from the approved preview (section .ct).
   ============================================================ */

.ovs-contact{background:radial-gradient(ellipse 55% 60% at 0% 100%,rgba(196,131,90,.12),transparent 60%),var(--ovs-bg);border-top:1px solid var(--ovs-line)}
.ovs-ct-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.2rem;align-items:start}
.ovs-ct-cards{display:grid;gap:.75rem;margin-top:2rem}
.ovs-ct-card{display:flex;align-items:center;gap:1rem;padding:1.05rem 1.2rem;line-height:1.35}
.ovs-ct-ic{flex:none;width:42px;height:42px;border-radius:12px;background:var(--ovs-champ-dim);border:1px solid var(--ovs-champ-border);display:flex;align-items:center;justify-content:center;color:var(--ovs-champ)}
.ovs-ct-ic svg{width:18px;height:18px}
.ovs-ct-card small{display:block;font-family:var(--ovs-mono);font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ovs-muted);margin-bottom:.2rem}
.ovs-ct-card b{font-size:.95rem;font-weight:600;color:var(--ovs-text);transition:color .2s}
.ovs-contact a.ovs-ct-card:hover b{color:var(--ovs-champ)}
.ovs-ct-steps{--ct-step:#E3C98F;margin-top:2.2rem;position:relative;display:grid;gap:1.1rem;padding-left:1.6rem}
.ovs-ct-steps::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--ct-step),rgba(227,201,143,.05))}
.ovs-ct-step{position:relative}
.ovs-ct-step::before{content:"";position:absolute;left:calc(-1.6rem + 1px);top:5px;width:9px;height:9px;border-radius:50%;background:var(--ovs-bg);border:2px solid var(--ct-step)}
.ovs-ct-step b{display:block;font-size:.92rem;margin-bottom:.2rem;color:var(--ovs-text)}
.ovs-ct-step span{display:block;font-size:.82rem;color:var(--ovs-muted);line-height:1.55}

.ovs-ct-form{padding:2rem;position:relative}
.ovs-ct-form-title{font-family:var(--ovs-mono);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ovs-champ);margin-bottom:1.3rem;display:flex;align-items:center;gap:.55rem}
.ovs-ct-form-title svg{width:14px;height:14px;flex:none}
.ovs-ct-rows{display:grid;gap:.9rem}
.ovs-ct-2col{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ovs-ct-1col{display:grid;gap:.9rem}
.ovs-contact .ovs-ct-field label{display:block;font-size:.74rem;font-weight:600;color:var(--ovs-muted);margin:0 0 .45rem;letter-spacing:.02em;line-height:1.3}
.ovs-ct-field label i{font-style:normal;color:var(--ovs-copper)}
.ovs-ct-field label em{font-style:normal;font-weight:400;opacity:.7}
.ovs-contact .ovs-ct-field input,.ovs-contact .ovs-ct-field select,.ovs-contact .ovs-ct-field textarea{width:100%;height:auto;margin:0;background:rgba(6,5,4,.6);border:1px solid var(--ovs-line);border-radius:11px;padding:.85rem .95rem;color:var(--ovs-text);font-family:var(--ovs-body);font-size:.92rem;line-height:1.4;box-shadow:none;transition:border-color .2s,box-shadow .2s;outline:none}
.ovs-contact .ovs-ct-field input::placeholder,.ovs-contact .ovs-ct-field textarea::placeholder{color:rgba(167,157,140,.7);opacity:1}
.ovs-contact .ovs-ct-field input:focus,.ovs-contact .ovs-ct-field select:focus,.ovs-contact .ovs-ct-field textarea:focus{outline:none;border-color:var(--ovs-champ-border);box-shadow:0 0 0 3px rgba(227,201,143,.10)}
.ovs-contact .ovs-ct-field textarea{min-height:120px;resize:vertical}
.ovs-ct-select{position:relative}
.ovs-contact .ovs-ct-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.6rem;cursor:pointer;background-image:none}
.ovs-contact .ovs-ct-select select:invalid{color:rgba(167,157,140,.7)}
.ovs-ct-select select option{background:#0F0C09;color:var(--ovs-text)}
.ovs-ct-select svg{position:absolute;right:.95rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ovs-champ);pointer-events:none}
.ovs-contact .ovs-ct-field.ovs-bad input,.ovs-contact .ovs-ct-field.ovs-bad select,.ovs-contact .ovs-ct-field.ovs-bad textarea{border-color:var(--ovs-danger-border);box-shadow:0 0 0 3px var(--ovs-danger-dim)}
.ovs-contact .ovs-ct-submit{width:100%;justify-content:center;margin-top:.3rem;color:#221A0D}
.ovs-ct-submit[disabled]{opacity:.55;pointer-events:none}
.ovs-ct-note{margin-top:.8rem;font-size:.74rem;color:var(--ovs-muted);line-height:1.5;text-align:center}
.ovs-ct-note b{color:var(--ovs-pine);font-weight:600}
.ovs-ct-error{display:none;margin-top:.7rem;font-size:.8rem;color:var(--ovs-danger);text-align:center;line-height:1.5}
.ovs-ct-form.ovs-err .ovs-ct-error{display:block}
.ovs-ct-success{display:none;text-align:center;padding:3rem 1rem}
.ovs-ct-success svg{width:46px;height:46px;color:var(--ovs-pine);margin:0 auto .9rem;display:block}
.ovs-contact .ovs-ct-success h4{font-family:var(--ovs-display);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1.6rem;margin-bottom:.5rem;color:var(--ovs-text)}
.ovs-ct-success p{font-size:.9rem;color:var(--ovs-muted);line-height:1.6;max-width:40ch;margin:0 auto}
.ovs-ct-form.ovs-sent form{display:none}
.ovs-ct-form.ovs-sent .ovs-ct-success{display:block}
.ovs-contact select:focus-visible{outline:2px solid var(--ovs-champ);outline-offset:3px}

@media(max-width:1080px){
  .ovs-ct-grid{grid-template-columns:1fr;gap:2.6rem}
}
@media(max-width:560px){
  .ovs-ct-2col{grid-template-columns:1fr}
  .ovs-ct-form{padding:1.4rem}
}
