html.otns-open, html.otns-open body { overflow: hidden !important; }
.otns-overlay { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: 28px; background: rgba(0,0,0,.62); backdrop-filter: blur(8px); opacity: 0; transition: opacity .28s ease; }
.otns-overlay[hidden] { display: none !important; }
.otns-overlay.is-open { opacity: 1; }
.otns-dialog { --otns-bg:#ffffff; --otns-button:#000000; --otns-button-text:#ffffff; position: relative; display: grid; grid-template-columns: minmax(300px, 1fr) minmax(360px, 1fr); align-items: stretch; width: min(920px, 94vw); min-height: 570px; max-height: min(760px, 92vh); overflow: hidden; background: var(--otns-bg); border: 1px solid rgba(0,0,0,.14); box-shadow: 0 28px 90px rgba(0,0,0,.34); transform: translateY(18px) scale(.985); transition: transform .32s ease; }
.otns-overlay.is-open .otns-dialog { transform: translateY(0) scale(1); }
.otns-close { position: absolute; z-index: 4; top: 18px; right: 18px; width: 48px; height: 48px; border: 1px solid rgba(0,0,0,.2); background: transparent; font-size: 34px; line-height: 1; font-weight: 200; cursor: pointer; color: #222; }
.otns-media { position: relative; align-self: stretch; min-height: 570px; height: 100%; overflow: hidden; background: #f2f2f2; }
.otns-media-image { position: absolute !important; inset: 0 !important; display: block !important; width: 100% !important; height: 100% !important; min-width: 100% !important; min-height: 100% !important; max-width: none !important; max-height: none !important; margin: 0 !important; padding: 0 !important; object-fit: cover !important; object-position: center center !important; }
.otns-media.is-placeholder { display: grid; place-items: center; background: linear-gradient(150deg,#f4f4f4,#1a1a1a); }
.otns-media-placeholder { position: absolute; inset: 0; display: grid; place-items: center; font-family: Georgia,serif; font-size: clamp(72px,10vw,150px); color: rgba(255,255,255,.75); }
.otns-media-placeholder[hidden] { display: none !important; }
.otns-content { display: flex; flex-direction: column; min-height: 570px; max-height: min(760px, 92vh); overflow-y: auto; padding: 44px 48px 30px; text-align: center; color: #171717; scrollbar-width: thin; }
.otns-logo { display:flex; align-items:center; justify-content:center; min-height:52px; margin:0 auto 10px; }
.otns-logo[hidden] { display:none !important; }
.otns-logo img { display:block; width:auto; max-width:min(270px,82%); max-height:74px; object-fit:contain; }
.otns-copy { margin: auto 0; }
.otns-eyebrow { margin: 0 0 24px; font-size: 11px; letter-spacing: .25em; text-transform: uppercase; }
.otns-content h2 { margin: 0 auto 18px; max-width: 480px; font-family: Georgia,'Times New Roman',serif; font-weight: 400; font-size: clamp(38px,4vw,58px); line-height: .98; }
.otns-body { max-width: 430px; margin: 0 auto 26px; font-size: 15px; line-height: 1.65; letter-spacing: .025em; }
.otns-form input[type="email"] { box-sizing: border-box; width: 100%; height: 54px; border: 1px solid #a8a8a8; border-radius: 0; background: #ffffff; padding: 0 17px; font-size: 16px; outline: none; }
.otns-form input[type="email"]:focus { border-color: #111; box-shadow: 0 0 0 1px #111; }
.otns-form button { width: 100%; min-height: 58px; margin-top: 14px; border: 0; background: var(--otns-button); color: var(--otns-button-text); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; cursor: pointer; }
.otns-form button:disabled { opacity: .6; cursor: wait; }
.otns-hp { position: absolute !important; left: -9999px !important; opacity: 0 !important; }
.otns-status { min-height: 22px; margin: 10px 0 0; font-size: 13px; }
.otns-status.is-error { color: #a11; }
.otns-status.is-success { color: #255c34; }
.otns-no-thanks { margin-top: 16px; padding: 4px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #111; font-size: 14px; cursor: pointer; }
.otns-terms { margin: auto 0 0; padding-top: 24px; font-size: 11px; line-height: 1.45; color: #666; }
.otns-terms[hidden] { display:none !important; }
.otns-terms a { color: inherit; text-decoration: underline; }
@media (max-width: 760px) {
  .otns-overlay { align-items: end; padding: 0; }
  .otns-dialog { grid-template-columns: 1fr; align-items: start; width: 100%; max-height: 94vh; min-height: 0; overflow-y: auto; }
  .otns-media { width: 100%; height: clamp(210px,31vh,320px); min-height: 210px; max-height: 31vh; }
  .otns-media-image { min-height: 100% !important; max-height: none !important; }
  .otns-content { min-height: 0; max-height: none; overflow: visible; padding: 28px 24px 24px; }
  .otns-logo { min-height:40px; margin-bottom:6px; }
  .otns-logo img { max-width:min(220px,78%); max-height:54px; }
  .otns-copy { margin: 30px 0 14px; }
  .otns-content h2 { font-size: clamp(34px,10vw,48px); }
  .otns-close { top: 12px; right: 12px; background: rgba(255,255,255,.94); }
  .otns-terms { padding-top: 14px; }
}
@media (prefers-reduced-motion: reduce) { .otns-overlay,.otns-dialog { transition: none; } }
