body.gated-document-open { overflow: hidden; }
.gated-document-modal[hidden] { display: none !important; }
.gated-document-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
.gated-document-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(5, 15, 25, .7); backdrop-filter: blur(5px); cursor: pointer; }
.gated-document-modal__panel { position: relative; width: min(100%, 560px); max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; padding: clamp(28px, 5vw, 48px); box-shadow: 0 24px 80px rgba(0,0,0,.28); }
.gated-document-modal__close { position: absolute; top: 12px; right: 16px; border: 0; background: transparent; color: #1c325e; font-size: 34px; line-height: 1; cursor: pointer; }
.gated-document-modal__eyebrow { display: block; margin-bottom: 10px; color: #1c325e; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.gated-document-modal__intro h2 { margin: 0; color: #111; font-size: clamp(25px, 4vw, 36px); line-height: 1.15; font-weight: 600; }
.gated-document-modal__intro p { margin: 14px 0 26px; color: rgba(0,0,0,.62); font-size: 15px; line-height: 1.55; }
#gated-document-form { display: grid; gap: 18px; }
#gated-document-form > label:not(.gated-document-modal__consent) { display: grid; gap: 7px; color: #202020; font-size: 13px; font-weight: 600; }
#gated-document-form input[type="text"], #gated-document-form input[type="email"], #gated-document-form input[type="tel"] { width: 100%; border: 1px solid rgba(0,0,0,.2); border-radius: 0; background: #fff; padding: 13px 15px; color: #111; font: inherit; outline: none; transition: border-color .2s, box-shadow .2s; }
#gated-document-form input:focus { border-color: #1c325e; box-shadow: 0 0 0 3px rgba(28,50,94,.12); }
.gated-document-modal__consent { display: flex; align-items: flex-start; gap: 10px; color: rgba(0,0,0,.68); font-size: 12px; line-height: 1.45; cursor: pointer; }
.gated-document-modal__consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; accent-color: #1c325e; }
.gated-document-modal__submit { border: 1px solid #1c325e; background: #1c325e; padding: 14px 22px; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; transition: opacity .2s, background .2s; }
.gated-document-modal__submit:hover { background: #274674; }
.gated-document-modal__submit:disabled { opacity: .55; cursor: wait; }
.gated-document-modal__message { display: none; padding: 11px 13px; font-size: 13px; line-height: 1.45; }
.gated-document-modal__message.is-success { display: block; background: #e9f7ef; color: #176638; }
.gated-document-modal__message.is-error { display: block; background: #fff0f0; color: #a32323; }
.gated-document-modal__trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
@media (max-width: 639px) { .gated-document-modal { padding: 12px; } .gated-document-modal__panel { max-height: calc(100vh - 24px); padding: 30px 22px 24px; } }
