.pir-popup-overlay, .pir-popup-overlay * { box-sizing: border-box; }
.pir-popup-overlay[hidden], .pir-popup-overlay [hidden] { display: none !important; }
html.pir-popup-open, body.pir-popup-open { overscroll-behavior: none; }
.pir-popup-trigger { position: fixed; left: 22px; bottom: 22px; z-index: 99980; display: inline-flex; align-items: center; gap: 15px; padding: 13px 17px; border: 1px solid #cba969; border-radius: 4px; background: #243647; color: #fbf8ee; box-shadow: 0 10px 32px #101d2b55; font: 600 12px 'IBM Plex Sans',sans-serif; cursor: pointer; }
.pir-popup-trigger span { color: #dbc08b; font-size: 18px; line-height: 12px; }
.pir-popup-trigger:hover { background: #1b2b3a; }
.pir-popup-overlay { position: fixed; inset: 0; z-index: 99990; display: grid; place-items: center; padding: clamp(12px, 2.5vw, 28px); background: rgba(12,20,28,.84); animation: pir-fade .22s ease both; }
.pir-popup-dialog { position: relative; display: grid; grid-template-columns: minmax(260px, 36%) minmax(0, 1fr); width: min(940px,100%); max-height: calc(100dvh - clamp(24px, 5vw, 56px)); overflow: hidden; border-radius: 6px; background: #fbf8ee; box-shadow: 0 24px 80px #07101baa; color: #253647; animation: pir-enter .3s ease both; outline: none; font-family: 'IBM Plex Sans',sans-serif; }
.pir-popup-dialog button, .pir-popup-dialog input, .pir-popup-dialog select { font-family: 'IBM Plex Sans',sans-serif; }
.pir-popup-dialog h2, .pir-popup-dialog p { margin: 0; }
.pir-popup-close { position: absolute; z-index: 3; top: 13px; right: 13px; width: 36px; height: 36px; border: 1px solid #ded9cc; border-radius: 50%; background: #fbf8ee; color: #253647; font-size: 25px; font-weight: 300; line-height: 1; cursor: pointer; }
.pir-popup-close:hover { background: #eee9dd; }
.pir-popup-close:focus-visible, .pir-popup-trigger:focus-visible, .pir-popup-submit:focus-visible, .pir-popup-done:focus-visible { outline: 3px solid #d6b676; outline-offset: 3px; }
.pir-popup-art { position: relative; min-width: 0; overflow: hidden; background: linear-gradient(180deg,rgba(15,29,42,.3),rgba(15,29,42,.94)), url('panama-skyline.jpg') center/cover; color: #fffdf7; }
.pir-popup-art-inner { position: relative; display: flex; flex-direction: column; height: 100%; min-height: 560px; padding: clamp(30px, 4vw, 44px); }
.pir-popup-mark { display: flex; justify-content: center; align-items: center; width: 38px; height: 38px; margin-bottom: clamp(28px, 5vh, 48px); border: 1px solid #ecd39f; color: #f2d9a4; font-size: 22px; }
.pir-popup-kicker, .pir-popup-eyebrow { color: #a36f2f; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.pir-popup-art .pir-popup-kicker { color: #f3d79d; text-shadow: 0 1px 8px #0b1824; }
.pir-popup-art h2 { max-width: 285px; margin-top: 14px; color: #fffdf7; text-shadow: 0 2px 18px #07131f, 0 1px 3px #07131f; font: 700 30px/1.34 'Libre Baskerville',Georgia,serif; }
.pir-popup-trust { margin-top: auto; padding-top: 22px; border-top: 1px solid #ffffff66; color: #fffdf7; font-size: 13px; line-height: 1.55; text-shadow: 0 1px 8px #07131f; }
.pir-popup-trust p + p { margin-top: 9px; }
.pir-popup-content { min-width: 0; padding: clamp(28px, 4vw, 40px); align-self: center; }
.pir-popup-content h2 { max-width: 440px; margin-top: 7px; font: 400 clamp(25px,3vw,29px)/1.28 'Libre Baskerville',Georgia,serif; color: #253647; }
.pir-popup-intro { max-width: 460px; margin-top: 9px !important; color: #5b6670; font-size: 13px; line-height: 1.5; }
#pir-popup-form { margin-top: 18px; }
.pir-popup-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 11px; }
.pir-popup-grid label { display: block; min-width: 0; color: #253647; font-size: 11px; font-weight: 600; line-height: 1.35; }
.pir-popup-grid label span { color: #a83f38; }
.pir-popup-grid input, .pir-popup-grid select { display: block; width: 100%; height: 40px; max-width: 100%; margin-top: 5px; padding: 0 10px; border: 1px solid #c8c5bc; border-radius: 4px; outline: none; background: #fff; color: #253647; font-size: 12px; }
.pir-popup-grid input:focus, .pir-popup-grid select:focus { border-color: #9d743e; box-shadow: 0 0 0 3px #c7a16844; }
.pir-popup-grid input::placeholder { color: #747d85; }
.pir-popup-consent { display: flex; align-items: flex-start; gap: 9px; margin: 14px 0 12px; color: #596670; font-size: 11px; line-height: 1.4; cursor: pointer; }
.pir-popup-consent input { flex: none; width: 16px; height: 16px; margin: 0; accent-color: #a97e43; }
.pir-popup-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pir-popup-submit, .pir-popup-done { display: flex; justify-content: center; align-items: center; gap: 10px; width: 100%; min-height: 44px; border: none; border-radius: 3px; background: #d4af73; color: #1d2e3c; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.pir-popup-submit:hover, .pir-popup-done:hover { background: #e0be81; }
.pir-popup-submit:disabled { opacity: .65; cursor: wait; }
.pir-popup-submit span, .pir-popup-done span { font-size: 17px; line-height: 1; }
.pir-popup-status { margin-top: 7px !important; color: #9d312b; font-size: 11px; }
.pir-popup-status:empty { display: none; }
.pir-popup-note { margin-top: 9px !important; text-align: center; color: #596670; font-size: 10px; }
.pir-popup-success { display: flex; min-height: 410px; flex-direction: column; justify-content: center; align-items: flex-start; }
.pir-popup-check { display: flex; justify-content: center; align-items: center; width: 54px; height: 54px; margin-bottom: 23px; border-radius: 50%; background: #e7dec9; color: #253647; font-size: 26px; }
.pir-popup-success > p:not(.pir-popup-eyebrow) { margin-top: 16px; color: #65717b; font-size: 14px; line-height: 1.65; }
.pir-popup-done { width: auto; min-width: 130px; margin-top: 27px; padding: 0 20px; }
@keyframes pir-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes pir-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 700px) {
  .pir-popup-overlay { padding: 10px; }
  .pir-popup-dialog { grid-template-columns: 1fr; width: min(520px,100%); max-height: calc(100dvh - 20px); }
  .pir-popup-art { min-height: 88px; background-position: center 48%; }
  .pir-popup-art-inner { min-height: 88px; padding: 15px 58px 15px 20px; justify-content: center; }
  .pir-popup-mark, .pir-popup-art .pir-popup-kicker, .pir-popup-trust { display: none; }
  .pir-popup-art h2 { max-width: 390px; margin: 0; font-size: 19px; line-height: 1.3; }
  .pir-popup-close { top: 12px; right: 12px; width: 34px; height: 34px; }
  .pir-popup-content { width: 100%; padding: 17px 19px 16px; }
  .pir-popup-content h2 { margin-top: 4px; font-size: 21px; }
  .pir-popup-intro { margin-top: 5px !important; font-size: 11px; line-height: 1.4; }
  #pir-popup-form { margin-top: 12px; }
  .pir-popup-grid { gap: 9px; margin-bottom: 8px; }
  .pir-popup-grid label { font-size: 10px; }
  .pir-popup-grid input, .pir-popup-grid select { height: 37px; margin-top: 3px; font-size: 11px; }
  .pir-popup-consent { margin: 10px 0 9px; }
  .pir-popup-submit { min-height: 41px; }
  .pir-popup-note { margin-top: 6px !important; }
  .pir-popup-success { min-height: 330px; }
  .pir-popup-trigger { left: 14px; bottom: 14px; }
}
@media (max-width: 340px) { .pir-popup-grid { grid-template-columns: 1fr; } }
@media (max-height: 720px) and (min-width: 701px) { .pir-popup-art-inner { min-height: 500px; } .pir-popup-content { padding-top: 24px; padding-bottom: 24px; } .pir-popup-mark { margin-bottom: 24px; } }
@media (max-height: 560px) and (min-width: 701px) {
  .pir-popup-dialog { max-height: calc(100dvh - 28px); }
  .pir-popup-art-inner { min-height: 0; padding: 22px 34px; }
  .pir-popup-mark { width: 32px; height: 32px; margin-bottom: 18px; font-size: 18px; }
  .pir-popup-art h2 { font-size: 24px; }
  .pir-popup-trust { display: none; }
  .pir-popup-content { padding: 18px 34px 16px; }
  .pir-popup-content h2 { margin-top: 4px; font-size: 23px; }
  .pir-popup-intro { margin-top: 5px !important; font-size: 11px; line-height: 1.35; }
  #pir-popup-form { margin-top: 9px; }
  .pir-popup-grid { gap: 10px; margin-bottom: 6px; }
  .pir-popup-grid label { font-size: 10px; }
  .pir-popup-grid input, .pir-popup-grid select { height: 34px; margin-top: 3px; font-size: 11px; }
  .pir-popup-consent { margin: 7px 0 6px; font-size: 10px; }
  .pir-popup-submit { min-height: 36px; }
  .pir-popup-note { margin-top: 4px !important; }
}
@media (prefers-reduced-motion: reduce) { .pir-popup-overlay, .pir-popup-dialog { animation: none; } }