.rv-contact-modal[hidden]{display:none!important}
.rv-contact-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:clamp(14px,3vw,34px);background:rgba(0,0,0,.76);backdrop-filter:blur(8px)}
.rv-contact-dialog{position:relative;width:min(780px,100%);max-height:calc(100dvh - clamp(28px,6vw,68px));overflow:auto;border:2px solid color-mix(in srgb,#121110 26%,transparent);border-radius:14px;background:#fff;color:#121110;box-shadow:0 30px 90px rgba(0,0,0,.62);font-family:var(--font-body),Archivo,system-ui,sans-serif}
.rv-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,38px);border-bottom:1px solid rgba(18,17,16,.18)}
.rv-contact-kicker{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#16845f}
.rv-contact-head h2{margin:0;font-family:var(--font-heading),Archivo,system-ui,sans-serif;font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.05;letter-spacing:-.03em}
.rv-contact-head p:last-child{max-width:54ch;margin:12px 0 0;color:rgba(18,17,16,.66);font-size:14.5px;line-height:23px}
.rv-contact-close{flex:none;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(18,17,16,.28);border-radius:50%;background:transparent;color:#121110;cursor:pointer}
.rv-contact-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.rv-contact-form{display:grid;gap:22px;padding:clamp(24px,4vw,38px)}
.rv-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.rv-contact-field{display:grid;gap:7px}
.rv-contact-field-wide{grid-column:1/-1}
.rv-contact-field>span,.rv-contact-project>legend{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(18,17,16,.66)}
.rv-contact-field input,.rv-contact-details textarea{width:100%;box-sizing:border-box;border:1px solid rgba(18,17,16,.28);border-radius:8px;background:#fff;color:#121110;font:inherit;font-size:15px;outline:none}
.rv-contact-field input{min-height:49px;padding:10px 13px}
.rv-contact-details textarea{min-height:132px;padding:12px 13px;resize:vertical;line-height:1.55}
.rv-contact-field input:focus,.rv-contact-details textarea:focus{border-color:#19b57a;box-shadow:0 0 0 3px rgba(25,181,122,.16)}
.rv-contact-project{min-width:0;margin:0;padding:0;border:0}
.rv-contact-project>legend{margin-bottom:11px}
.rv-contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rv-contact-option{display:flex;align-items:center;gap:11px;min-height:50px;padding:10px 14px;border:1px solid rgba(18,17,16,.28);border-radius:9px;background:#fff;color:#121110;font:inherit;font-size:14.5px;font-weight:600;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}
.rv-contact-option-dot{width:15px;height:15px;box-sizing:border-box;flex:none;border:1.5px solid rgba(18,17,16,.48);border-radius:50%;transition:.18s ease}
.rv-contact-option[aria-pressed="true"]{border-color:#19b57a;background:#19b57a;color:#fff}
.rv-contact-option[aria-pressed="true"] .rv-contact-option-dot{border-color:#fff;box-shadow:inset 0 0 0 3.5px #19b57a,inset 0 0 0 10px #fff}
.rv-contact-details[hidden]{display:none}
.rv-contact-details{display:grid;gap:7px;padding:16px;border:1px solid rgba(25,181,122,.42);border-radius:10px;background:rgba(25,181,122,.06)}
.rv-contact-details label{font-size:12px;font-weight:700;color:#121110}
.rv-contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.rv-contact-turnstile{min-height:65px}
.rv-contact-error{margin:0;padding:11px 13px;border-radius:8px;background:#fff0ef;color:#9a201c;font-size:13.5px}
.rv-contact-error[hidden]{display:none}
.rv-contact-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:54px;padding:13px 18px;border:0;border-radius:8px;background:#19b57a;color:#fff;font:inherit;font-size:15.5px;font-weight:800;cursor:pointer}
.rv-contact-submit:disabled{cursor:wait;opacity:.62}
.rv-contact-submit svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.rv-contact-privacy{margin:-9px 0 0;color:rgba(18,17,16,.56);font-size:12.5px;line-height:20px}
.rv-contact-success{padding:clamp(34px,6vw,70px);text-align:center}
.rv-contact-success-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 22px;border-radius:50%;background:#19b57a;color:#fff;font-size:26px}
.rv-contact-success h3{margin:0;font-family:var(--font-heading),Archivo,system-ui,sans-serif;font-size:32px;letter-spacing:-.025em}
.rv-contact-success p{max-width:46ch;margin:14px auto 24px;color:rgba(18,17,16,.66)}
.rv-contact-success button{padding:12px 20px;border:0;border-radius:8px;background:#121110;color:#fff;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:620px){.rv-contact-modal{align-items:end;padding:0}.rv-contact-dialog{width:100%;max-height:94dvh;border-width:1px 0 0;border-radius:16px 16px 0 0}.rv-contact-grid,.rv-contact-options{grid-template-columns:1fr}.rv-contact-field-wide{grid-column:auto}.rv-contact-head,.rv-contact-form{padding:22px}.rv-contact-head h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.rv-contact-option{transition:none}}
