.sem-locked{overflow:hidden!important}.sem-modal{position:fixed!important;inset:0;z-index:2147483000!important;display:none;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}.sem-modal.sem-visible{display:flex}.sem-backdrop{position:absolute;inset:0;background:rgba(12,29,42,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sem-dialog{position:relative;width:min(100%,600px);max-height:min(92dvh,820px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(22px,4vw,42px);border:1px solid rgba(255,255,255,.75);border-radius:22px;background:#f8f7f3;box-shadow:0 22px 90px rgba(8,30,39,.22);box-sizing:border-box;color:#122735}.sem-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:32px;line-height:1;color:#122735;cursor:pointer;padding:8px 12px}.sem-kicker{font-size:10px!important;line-height:1.6!important;letter-spacing:2px!important;color:#a87c3d!important;font-weight:700!important;margin-bottom:12px!important}.sem-dialog h2,.sem-inline h3{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;font-size:clamp(27px,4vw,42px)!important;line-height:1.12!important;letter-spacing:-.5px!important;color:#122735!important;margin:0 30px 12px 0!important}.sem-intro,.sem-inline>p{color:#52616a!important;font-size:14px!important;line-height:1.6!important;margin:0 0 24px!important}.sem-form{display:block!important}.sem-field{margin-bottom:13px}.sem-field label{display:block;color:#122735!important;font-size:12px!important;font-weight:600!important;line-height:1.5!important}.sem-field input,.sem-field select,.sem-field textarea{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-top:5px!important;padding:12px 13px!important;font-size:14px!important;line-height:1.4!important;border:1px solid #d3d9da!important;border-radius:10px!important;color:#122735!important;background:#fff!important;box-shadow:none!important;min-height:42px!important;outline-offset:2px!important}.sem-field input:focus,.sem-field select:focus,.sem-field textarea:focus{border-color:#a87c3d!important;outline:2px solid rgba(168,124,61,.15)!important}.sem-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sem-consent{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:16px 0!important;color:#52616a!important;font-size:12px!important;line-height:1.5!important;cursor:pointer}.sem-consent input{flex:0 0 auto!important;margin:3px 0 0!important;accent-color:#122735;width:15px!important;height:15px!important}.sem-submit{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;background:#122735!important;color:#fff!important;border:0!important;border-radius:30px!important;letter-spacing:1px!important;font-size:12px!important;font-weight:700!important;padding:15px 22px!important;cursor:pointer!important;min-height:46px!important}.sem-submit:hover{background:#21455a!important}.sem-submit:disabled{opacity:.7;cursor:wait!important}.sem-response{font-size:13px!important;color:#a73535!important;min-height:15px;margin:10px 0 0!important}.sem-response.sem-ok{color:#125737!important}.sem-hidden{position:absolute!important;left:-99999px!important;height:1px!important;overflow:hidden!important}.sem-inline{background:#f8f7f3;border:1px solid #e8e5df;border-radius:20px;max-width:640px;padding:clamp(20px,4vw,40px);box-sizing:border-box}@media(max-width:600px){.sem-modal{padding:10px}.sem-dialog{max-height:calc(100dvh - 20px);border-radius:17px;padding:24px 18px}.sem-dialog h2{font-size:29px!important}.sem-two{grid-template-columns:1fr;gap:10px}.sem-field{margin-bottom:10px}.sem-intro{margin-bottom:17px!important}}


/* v1.0.2: responsive modal layout / predictable dropdown arrow / clear close control. */
.sem-modal, .sem-modal * { box-sizing: border-box; }
.sem-modal .sem-dialog { width: min(100%, 600px); max-width: 600px; max-height: calc(100vh - 36px); max-height: calc(100dvh - 36px); }
.sem-modal .sem-close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  z-index: 5 !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(18,39,53,.15) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.9) !important;
  color: #122735 !important;
  font: 400 25px/1 Arial, sans-serif !important;
  text-align: center !important;
  box-shadow: 0 2px 10px rgba(18,39,53,.06);
}
.sem-modal .sem-close:hover, .sem-modal .sem-close:focus-visible { background:#e9e6e0 !important; }
.sem-modal .sem-kicker { padding-right: 52px !important; overflow-wrap:anywhere; }
.sem-modal .sem-dialog h2 { margin-right: 0 !important; padding-right: 0 !important; max-width: 100% !important; overflow-wrap: break-word; }
.sem-modal .sem-field select, .sem-inline .sem-field select {
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  min-width:0 !important;
  min-height:46px !important;
  padding:12px 43px 12px 13px !important;
  background-color:#fff !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M2 2.5 7 7.5l5-5' stroke='%23122735' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
  background-position:right 15px center !important;
  background-size:14px 10px !important;
  background-repeat:no-repeat !important;
  text-align:left !important;
  text-align-last:left !important;
}
.sem-modal .sem-two > label, .sem-inline .sem-two > label { min-width:0 !important; }
@media(max-width:600px) {
  .sem-modal { padding: 10px !important; align-items:center !important; }
  .sem-modal .sem-dialog {
    width:100% !important;
    min-width:0 !important;
    max-height:calc(100vh - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
    padding: 62px 18px 22px !important;
    border-radius:18px !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
  }
  .sem-modal .sem-close { top:12px !important;right:14px !important; }
  .sem-modal .sem-kicker { padding-right:0 !important; font-size:10px !important; }
  .sem-modal .sem-dialog h2 { font-size:clamp(25px,7vw,31px) !important; line-height:1.14 !important; }
  .sem-modal .sem-two { grid-template-columns:minmax(0,1fr) !important; }
  .sem-modal .sem-field input, .sem-modal .sem-field select, .sem-modal .sem-field textarea {font-size:16px !important;}
}
@media(max-width:360px) { .sem-modal .sem-dialog { padding-left:14px !important; padding-right:14px !important; } }
