﻿.dgp-promo-popup[hidden] { display: none !important; }
.dgp-promo-popup { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 52px 24px 24px; }
.dgp-promo-popup__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .28); backdrop-filter: none; animation: dgp-popup-fade .28s ease-out both; }
.dgp-promo-popup__dialog { position: relative; width: min(760px, calc(100vw - 64px)); max-height: calc(100vh - 76px); outline: none; animation: dgp-popup-enter .42s cubic-bezier(.2,.8,.2,1) both; }
.dgp-promo-popup__link { display: block; line-height: 0; overflow: hidden; border-radius: 14px; background: #243c57; box-shadow: 0 22px 48px rgba(0, 0, 0, .4), 0 5px 14px rgba(0, 0, 0, .24); }
.dgp-promo-popup__copy { display: none; }
.dgp-promo-popup__eyebrow { margin-bottom: 20px; color: #243c57; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.dgp-promo-popup h2 { margin: 0 0 18px; color: #243c57; font-family: "Be Vietnam Pro", Arial, sans-serif; font-size: clamp(38px, 5vw, 58px); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.dgp-promo-popup h2 em { color: #a47c58; font-weight: 400; }
.dgp-promo-popup__copy p { margin: 0 0 28px; color: #55514b; font-size: 15px; line-height: 1.65; }
.dgp-promo-popup__cta { align-self: flex-start; padding-bottom: 6px; border-bottom: 2px solid #ffe600; color: #243c57; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.dgp-promo-popup__visual { display: block; overflow: hidden; border-radius: inherit; }
.dgp-promo-popup__visual::before { display: none; }
.dgp-promo-popup__image { display: block; position: static; width: 100%; height: auto !important; max-height: calc(100vh - 76px); border-radius: inherit; object-fit: contain; transition: transform .45s ease; }
.dgp-promo-popup__link[href]:hover .dgp-promo-popup__image { transform: scale(1.012); }
.dgp-promo-popup__signature { display: none; }
.dgp-promo-popup__close { position: absolute; z-index: 5; top: -46px; right: 0; display: grid; place-items: center; width: 38px; height: 38px; margin: 0; padding: 5px; border: 0; border-radius: 0; background: transparent; color: #fff; filter: drop-shadow(0 2px 5px rgba(5, 17, 35, .9)); cursor: pointer; transition: opacity .2s ease, transform .2s ease; }
.dgp-promo-popup__close svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.dgp-promo-popup__close:hover { background: transparent; opacity: .76; transform: scale(1.08); }
.dgp-promo-popup__close:focus-visible, .dgp-promo-popup__link:focus-visible { outline: 3px solid #ffe600; outline-offset: 3px; }
body.dgp-popup-open { overflow: hidden; }
@keyframes dgp-popup-fade { from { opacity: 0; } }
@keyframes dgp-popup-enter { from { opacity: 0; transform: translateY(18px) scale(.98); } }
@media (max-width: 640px) {
    .dgp-promo-popup { padding: 48px 16px 16px; }
    .dgp-promo-popup__dialog { width: min(350px, calc(100vw - 32px)); max-height: calc(100vh - 64px); }
    .dgp-promo-popup__image { max-height: calc(100vh - 64px); }
    .dgp-promo-popup__close { top: -42px; right: 0; width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
    .dgp-promo-popup__backdrop, .dgp-promo-popup__dialog { animation: none; }
    .dgp-promo-popup__image, .dgp-promo-popup__close { transition: none; }
}
