:root{--popup-gold:#dca11d;--popup-paper:#f4efe5;--popup-ink:#090c09;--popup-panel:#111610}
.tpi-popup-shell[hidden]{display:none}
.tpi-popup-shell{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:clamp(14px,4vw,42px)}
.tpi-popup-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);animation:tpi-popup-fade .25s ease both}
.tpi-popup{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);width:min(100%,760px);max-height:min(90vh,900px);overflow:auto;border:1px solid #6c5a26;background:var(--popup-panel);color:var(--popup-paper);box-shadow:0 34px 100px rgba(0,0,0,.75);animation:tpi-popup-rise .36s cubic-bezier(.2,.8,.2,1) both}
.tpi-popup:not(:has(.tpi-popup-visual)){grid-template-columns:1fr}
.tpi-popup-compact{width:min(100%,540px)}
.tpi-popup-wide{width:min(100%,980px)}
.tpi-popup-image-left,.tpi-popup-image-right{grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr)}
.tpi-popup-image-right .tpi-popup-visual{order:2}
.tpi-popup-visual{display:grid;place-items:center;min-width:0;min-height:230px;overflow:hidden;background:var(--popup-ink)}
.tpi-popup-visual img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.tpi-popup-image-background{isolation:isolate}
.tpi-popup-image-background .tpi-popup-visual{position:absolute;inset:0;z-index:-2}
.tpi-popup-image-background .tpi-popup-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,8,.97),rgba(8,11,8,.72))}
.tpi-popup-copy{position:relative;box-sizing:border-box;min-width:0;max-width:100%;padding:clamp(30px,5vw,58px);overflow-wrap:anywhere}
.tpi-popup-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(244,239,229,.35);border-radius:50%;background:rgba(9,12,9,.72);color:var(--popup-paper);font:300 31px/1 system-ui;cursor:pointer;transition:.2s}
.tpi-popup-close:hover,.tpi-popup-close:focus-visible{border-color:var(--popup-gold);color:var(--popup-gold);transform:rotate(5deg)}
.tpi-popup-close:focus-visible{outline:2px solid var(--popup-gold);outline-offset:2px}
.tpi-popup-eyebrow{max-width:100%;margin:0 54px 18px 0;color:var(--popup-gold);font-size:12px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;overflow-wrap:anywhere}
.tpi-popup h2{max-width:100%;margin:0 44px 20px 0;color:var(--popup-paper);font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(32px,4vw,58px);font-weight:500;line-height:1;letter-spacing:.01em;text-transform:uppercase;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.tpi-popup-body{min-width:0;max-width:100%;color:#d8d5cd;font-size:clamp(16px,1.5vw,19px);line-height:1.65;overflow-wrap:anywhere}
.tpi-popup-body>*{max-width:100%}
.tpi-popup-body>*:first-child{margin-top:0}
.tpi-popup-body>*:last-child{margin-bottom:0}
.tpi-popup-body a{color:var(--popup-gold);overflow-wrap:anywhere}
.tpi-popup-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:18px;max-width:100%;min-height:54px;margin-top:28px;padding:13px 24px;background:var(--popup-gold);color:var(--popup-ink)!important;font-weight:900;text-align:center;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere;transition:.2s}
.tpi-popup-action:hover,.tpi-popup-action:focus-visible{background:#efb633;transform:translateY(-2px)}
body.tpi-popup-open{overflow:hidden}
@keyframes tpi-popup-fade{from{opacity:0}to{opacity:1}}
@keyframes tpi-popup-rise{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:700px){.tpi-popup{max-height:94vh}.tpi-popup-image-left,.tpi-popup-image-right{grid-template-columns:1fr}.tpi-popup-image-right .tpi-popup-visual{order:0}.tpi-popup-visual{min-height:190px;max-height:32vh}.tpi-popup-copy{padding:34px 24px 30px}.tpi-popup h2{font-size:clamp(30px,10vw,48px);margin-right:38px}.tpi-popup-action{width:100%}}
@media(prefers-reduced-motion:reduce){.tpi-popup,.tpi-popup-backdrop{animation:none}.tpi-popup-action,.tpi-popup-close{transition:none}}
