.oug18-modal-open { overflow: hidden; }
.oug18-wrap { --oug18-btn-bg:#1d4ed8; --oug18-btn-color:#fff; --oug18-modal-bg:#fff; --oug18-modal-color:#111827; }
.oug18-open,.oug18-submit { appearance:none; border:0; border-radius:8px; cursor:pointer; font:inherit; font-weight:700; line-height:1.2; padding:14px 20px; }
.oug18-open { background:var(--oug18-btn-bg); color:var(--oug18-btn-color); box-shadow:0 4px 14px rgba(0,0,0,.12); }
.oug18-open:hover,.oug18-open:focus-visible { filter:brightness(.92); }
.oug18-overlay[hidden] { display:none !important; }
.oug18-overlay { position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(17,24,39,.64); }
.oug18-modal { position:relative; width:min(100%,620px); max-height:calc(100vh - 40px); overflow:auto; box-sizing:border-box; border-radius:14px; background:var(--oug18-modal-bg); color:var(--oug18-modal-color); box-shadow:0 24px 70px rgba(0,0,0,.28); padding:28px; }
.oug18-modal h2 { margin:0 40px 8px 0; color:inherit; font-size:clamp(1.35rem,2.4vw,1.8rem); }
.oug18-intro { margin:0 0 20px; }
.oug18-close { position:absolute; top:12px; right:14px; width:38px; height:38px; border:0; border-radius:50%; background:transparent; color:inherit; cursor:pointer; font-size:30px; line-height:36px; }
.oug18-close:hover,.oug18-close:focus-visible { background:rgba(127,127,127,.12); }
.oug18-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.oug18-form p { margin:0 0 14px; }
.oug18-form label { display:block; font-weight:600; }
.oug18-form input { width:100%; box-sizing:border-box; margin-top:6px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#111827; padding:11px 12px; font:inherit; }
.oug18-form input:focus { outline:2px solid var(--oug18-btn-bg); outline-offset:1px; border-color:transparent; }
.oug18-submit { width:100%; margin-top:4px; background:var(--oug18-btn-bg); color:var(--oug18-btn-color); }
.oug18-submit[disabled] { opacity:.65; cursor:wait; }
.oug18-privacy { font-size:.875rem; opacity:.78; }
.oug18-message { margin-top:14px; font-weight:600; }
.oug18-message.is-success { color:#166534; }
.oug18-message.is-error { color:#b91c1c; }
.oug18-hp { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
@media (max-width:600px) {
	.oug18-overlay { padding:10px; align-items:flex-end; }
	.oug18-modal { max-height:92vh; border-radius:14px 14px 0 0; padding:22px 18px; }
	.oug18-grid { grid-template-columns:1fr; gap:0; }
}
@media (prefers-reduced-motion:no-preference) {
	.oug18-modal { animation:oug18-in .16s ease-out; }
	@keyframes oug18-in { from { opacity:0; transform:translateY(10px) scale(.99); } to { opacity:1; transform:none; } }
}
