.jg-nav{background:rgba(17,17,17,.97);border-bottom:1px solid rgba(255,255,255,.08);padding:0 48px;height:64px;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:100001;box-sizing:border-box}
.jg-nav-logo img{height:32px;width:auto;display:block}
.jg-nav-links{display:flex;gap:28px;align-items:center}
.jg-nav-links>a{font-size:9px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.85);text-transform:uppercase;text-decoration:none;transition:color .2s}
.jg-nav-links>a:hover{color:#FE5000}
.jg-drop{position:relative}
.jg-drop-btn{background:none;border:none;font-family:inherit;font-size:9px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.85);text-transform:uppercase;cursor:pointer;padding:0;transition:color .2s}
.jg-drop-btn:hover{color:#FE5000}
.jg-drop-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#111;border:1px solid rgba(255,255,255,.1);padding:8px 0;z-index:100002}
.jg-drop:hover .jg-drop-menu{display:block}
.jg-drop-menu a{display:block;padding:10px 20px;font-size:9px;font-weight:700;letter-spacing:.15em;color:rgba(255,255,255,.7);text-transform:uppercase;text-decoration:none;transition:all .2s}
.jg-drop-menu a:hover{color:#FE5000;background:rgba(254,80,0,.06)}
.jg-nav-portal{font-size:8px!important;letter-spacing:.15em!important;color:rgba(255,255,255,.4)!important;border:1px solid rgba(255,255,255,.15);padding:6px 12px!important;transition:all .2s;text-decoration:none}
.jg-nav-portal:hover{border-color:rgba(254,80,0,.5)!important;color:#FE5000!important}
.jg-nav-cta{background:#FE5000;color:#fff!important;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:10px 20px!important;text-decoration:none;transition:background .2s;white-space:nowrap}
.jg-nav-cta:hover{background:#c93e00}
.jg-hamburger{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1;padding:4px}
.jg-mobile-nav{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:#0a0908;z-index:100000;overflow-y:auto;padding:24px 32px;flex-direction:column;gap:0}
.jg-mobile-nav.open{display:flex}
.jg-mobile-nav a{display:block;padding:16px 0;font-size:10px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.7);text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06);transition:color .2s}
.jg-mobile-nav a:hover{color:#FE5000}
.jg-mobile-cta{background:#FE5000!important;color:#fff!important;margin-top:16px;text-align:center;padding:16px!important;border:none!important}
@media(max-width:900px){.jg-nav{padding:0 24px}.jg-nav-links{display:none}.jg-hamburger{display:block}}
body{padding-top:64px}
@import url(‘https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap’);
:root{
–o:#FE5000;–b:#111;–w:#fff;–s:#C0C0C0;–bg:#f5f2ed;–warm:#edeae3;
–f:’Futura’,’Century Gothic’,’Trebuchet MS’,sans-serif;
–serif:’Cormorant Garamond’,Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(–f);background:var(–bg);color:var(–b);overflow-x:hidden}
/* HERO — FEATURED SHOW */
.hero{background:var(–b);min-height:88vh;display:grid;
grid-template-columns:1fr 1fr;overflow:hidden;position:relative}
.hero-img{position:relative;overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center;
transition:transform 12s ease}
.hero-img:hover img{transform:scale(1.04)}
.hero-img-overlay{position:absolute;inset:0;
background:linear-gradient(to right,rgba(10,9,8,.5) 0%,rgba(10,9,8,.05) 70%,transparent 100%);}
.hero-content{padding:72px 64px;display:flex;flex-direction:column;justify-content:space-between}
.hero-tag{font-size:8px;font-weight:700;letter-spacing:.32em;color:var(–o);
text-transform:uppercase;margin-bottom:32px;display:flex;align-items:center;gap:12px}
.hero-tag::before{content:”;width:20px;height:1px;background:var(–o)}
.hero-title{font-family:var(–serif);font-size:clamp(44px,6vw,88px);
font-weight:300;color:var(–w);line-height:.9;letter-spacing:-.01em;margin-bottom:24px}
.hero-artists{font-size:12px;color:rgba(255,255,255,.8);letter-spacing:.08em;
line-height:2;margin-bottom:28px}
.hero-date{font-size:9px;color:var(–o);letter-spacing:.14em;
text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.hero-date::before{content:”;width:14px;height:1px;background:var(–o)}
.hero-location{font-size:9px;color:rgba(255,255,255,.7);letter-spacing:.1em;
text-transform:uppercase;margin-bottom:40px;padding-left:24px}
.hero-desc{font-family:var(–serif);font-size:16px;color:rgba(255,255,255,.8);
line-height:1.7;max-width:440px;margin-bottom:48px;font-weight:300}
.hero-actions{display:flex;gap:16px;align-items:center}
.btn-primary{background:var(–o);color:var(–w);font-family:var(–f);font-size:9px;
font-weight:700;letter-spacing:.2em;text-transform:uppercase;
padding:16px 32px;text-decoration:none;transition:background .2s}
.btn-primary:hover{background:#c93e00}
.btn-ghost{font-size:9px;font-weight:700;letter-spacing:.18em;
color:rgba(255,255,255,.7);text-transform:uppercase;text-decoration:none;
border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px}
/* COUNTDOWN */
.countdown-bar{background:var(–o);padding:24px 56px;
display:flex;align-items:center;justify-content:space-between;gap:40px}
.cb-label{font-size:8px;font-weight:700;letter-spacing:.25em;
color:rgba(255,255,255,.8);text-transform:uppercase}
.cb-show{font-family:var(–serif);font-size:22px;color:var(–w);font-weight:300}
.cb-units{display:flex;gap:32px;align-items:center}
.cb-unit{text-align:center}
.cb-num{font-family:var(–serif);font-size:40px;color:var(–w);
font-weight:300;line-height:1}
.cb-sublabel{font-size:7px;font-weight:700;letter-spacing:.2em;
color:rgba(255,255,255,.7);text-transform:uppercase;margin-top:4px}
.cb-cta a{background:var(–w);color:var(–o);font-family:var(–f);font-size:9px;
font-weight:700;letter-spacing:.2em;text-transform:uppercase;
padding:14px 28px;text-decoration:none;white-space:nowrap}
/* FILTER BAR */
.filter-bar{background:var(–warm);border-bottom:1px solid #ddd8cc;
padding:0 56px;display:flex;align-items:center;gap:0;
position:sticky;top:62px;z-index:100;overflow-x:auto;scrollbar-width:none}
.filter-bar::-webkit-scrollbar{display:none}
.fb-btn{font-size:8px;font-weight:700;letter-spacing:.2em;color:#888;
text-transform:uppercase;padding:18px 20px;border:none;background:none;
cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:all .2s}
.fb-btn:hover{color:var(–b)}
.fb-btn.active{color:var(–o);border-bottom-color:var(–o)}
/* SHOWS GRID — NOW SHOWING + UPCOMING */
.shows-section{padding:72px 56px}
.section-header{display:flex;align-items:baseline;justify-content:space-between;
margin-bottom:40px;padding-bottom:20px;border-bottom:0.5px solid #ddd8cc}
.section-label{font-size:8px;font-weight:700;letter-spacing:.28em;
color:var(–o);text-transform:uppercase}
.section-title{font-family:var(–serif);font-size:32px;font-weight:300;color:var(–b);
margin-top:6px}
/* FEATURED CARD — full width */
.show-featured{display:grid;grid-template-columns:1fr 1fr;gap:3px;
margin-bottom:4px;cursor:pointer;text-decoration:none;color:inherit}
.sf-img{position:relative;overflow:hidden;aspect-ratio:1.4}
.sf-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.show-featured:hover .sf-img img{transform:scale(1.03)}
.sf-content{background:var(–b);padding:48px;display:flex;flex-direction:column;justify-content:space-between}
.sf-tag{font-size:7px;font-weight:700;letter-spacing:.3em;color:var(–o);
text-transform:uppercase;margin-bottom:16px}
.sf-title{font-family:var(–serif);font-size:clamp(32px,4vw,56px);
font-weight:300;color:var(–w);line-height:.95;margin-bottom:16px}
.sf-artists{font-size:11px;color:rgba(255,255,255,.8);letter-spacing:.06em;line-height:2}
.sf-date{font-size:9px;color:var(–o);letter-spacing:.12em;
text-transform:uppercase;margin-top:24px;display:flex;align-items:center;gap:8px}
.sf-date::before{content:”;width:14px;height:1px;background:var(–o)}
.sf-loc{font-size:8px;color:rgba(255,255,255,.6);letter-spacing:.1em;
text-transform:uppercase;padding-left:22px;margin-top:6px}
.sf-cta{margin-top:32px;font-size:9px;font-weight:700;letter-spacing:.18em;
color:var(–o);text-transform:uppercase;display:flex;align-items:center;gap:8px}
.sf-cta::after{content:’→’}
/* SHOW GRID — upcoming */
.shows-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:4px}
.show-card{background:var(–w);text-decoration:none;color:inherit;
display:flex;flex-direction:column;overflow:hidden;
border-bottom:3px solid transparent;transition:border-color .25s}
.show-card:hover{border-bottom-color:var(–o)}
.sc-img{position:relative;overflow:hidden;aspect-ratio:1.2}
.sc-img img{width:100%;height:100%;object-fit:cover;
transition:transform .5s,filter .3s;filter:grayscale(15%)}
.show-card:hover .sc-img img{transform:scale(1.04);filter:grayscale(0%)}
.sc-img-placeholder{width:100%;height:100%;background:var(–warm);
display:flex;align-items:center;justify-content:center}
.sc-img-placeholder span{font-family:var(–serif);font-size:48px;
font-weight:300;color:#ccc}
.sc-body{padding:28px 24px;flex:1;display:flex;flex-direction:column}
.sc-month{font-size:7px;font-weight:700;letter-spacing:.28em;
color:var(–o);text-transform:uppercase;margin-bottom:10px}
.sc-title{font-family:var(–serif);font-size:22px;font-weight:400;
color:var(–b);line-height:1.1;margin-bottom:8px}
.sc-artists{font-size:9px;color:#888;letter-spacing:.05em;line-height:1.7;flex:1}
.sc-footer{display:flex;align-items:center;justify-content:space-between;
margin-top:20px;padding-top:16px;border-top:0.5px solid #e0ddd5}
.sc-dates{font-size:8px;color:#aaa;letter-spacing:.06em}
.sc-badge{font-size:7px;font-weight:700;letter-spacing:.18em;
text-transform:uppercase;padding:4px 10px}
.badge-upcoming{border:1px solid rgba(254,80,0,.3);color:var(–o)}
.badge-now{background:var(–o);color:var(–w)}
/* PAST SHOWS */
.past-section{padding:72px 56px;background:var(–warm)}
.past-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:40px}
.past-card{position:relative;overflow:hidden;aspect-ratio:.9;
display:block;text-decoration:none;background:var(–b)}
.past-card img{width:100%;height:100%;object-fit:cover;opacity:.55;
transition:opacity .3s,transform .5s;filter:grayscale(40%)}
.past-card:hover img{opacity:.75;transform:scale(1.04);filter:grayscale(0%)}
.past-card-info{position:absolute;bottom:0;left:0;right:0;padding:20px 16px;
background:linear-gradient(transparent,rgba(10,9,8,.85))}
.pci-month{font-size:7px;font-weight:700;letter-spacing:.25em;
color:rgba(255,255,255,.5);text-transform:uppercase;margin-bottom:4px}
.pci-title{font-family:var(–serif);font-size:17px;color:var(–w);font-weight:300}
.pci-badge{font-size:7px;color:rgba(255,255,255,.35);letter-spacing:.12em;
text-transform:uppercase;margin-top:4px}
/* SIMULTANEOUS BAND */
.simul-band{background:var(–b);padding:72px 56px;
display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.sb-eyebrow{font-size:8px;font-weight:700;letter-spacing:.3em;
color:var(–o);text-transform:uppercase;margin-bottom:20px;
display:flex;align-items:center;gap:12px}
.sb-eyebrow::before{content:”;width:20px;height:1px;background:var(–o)}
.sb-title{font-family:var(–serif);font-size:clamp(28px,3.5vw,48px);
font-weight:300;color:var(–w);line-height:1.1;margin-bottom:24px}
.sb-title em{color:var(–o);font-style:italic}
.sb-body{font-size:11px;color:rgba(255,255,255,.8);line-height:1.9}
.sb-steps{display:flex;flex-direction:column;gap:24px}
.sb-step{display:flex;gap:20px;align-items:flex-start}
.sb-step-num{font-family:var(–serif);font-size:32px;font-weight:300;
color:rgba(254,80,0,.4);line-height:1;flex-shrink:0;width:32px}
.sb-step-title{font-size:10px;font-weight:700;letter-spacing:.15em;
color:var(–w);text-transform:uppercase;margin-bottom:6px}
.sb-step-body{font-size:10px;color:rgba(255,255,255,.7);line-height:1.7}
/* FOOTER BAND */
.footer-band{background:var(–o);padding:64px 56px;
display:flex;align-items:center;justify-content:space-between;gap:40px}
.fb-text{font-family:var(–serif);font-size:clamp(24px,3.5vw,44px);
font-weight:300;color:var(–w);line-height:1.1}
.fb-text strong{font-weight:600}
.fb-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-end;flex-shrink:0}
.fb-btn-a{background:var(–w);color:var(–o);font-family:var(–f);font-size:9px;
font-weight:700;letter-spacing:.2em;text-transform:uppercase;
padding:16px 32px;text-decoration:none;white-space:nowrap}
.fb-btn-b{border:1px solid rgba(255,255,255,.4);color:var(–w);font-family:var(–f);
font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
padding:16px 32px;text-decoration:none;white-space:nowrap;text-align:center}
/* RESPONSIVE */
@media(max-width:1024px){
.hero{grid-template-columns:1fr;min-height:auto}
.hero-img{height:60vw}
.show-featured{grid-template-columns:1fr}
.shows-grid{grid-template-columns:repeat(2,1fr)}
.past-grid{grid-template-columns:repeat(2,1fr)}
.simul-band{grid-template-columns:1fr;gap:40px}
.footer-band{flex-direction:column;text-align:center}
.fb-actions{align-items:center}
}
@media(max-width:768px){
.hero-content{padding:48px 28px}
.countdown-bar{flex-direction:column;padding:24px 28px;text-align:center}
.filter-bar{padding:0 28px}
.shows-section,.past-section,.simul-band,.footer-band{padding:48px 28px}
.shows-grid{grid-template-columns:1fr}
.past-grid{grid-template-columns:repeat(2,1fr)}
}
/* ── UNIVERSAL NAV ── */
@media(max-width:1100px){
}
#jgPopup{position:fixed;inset:0;z-index:9999;display:flex!important;
align-items:center;justify-content:center;
opacity:0;pointer-events:none;transition:opacity .4s ease}
#jgPopup.jgp-open{opacity:1;pointer-events:all}
#jgPopupOv{position:absolute;inset:0;background:rgba(10,9,8,.82);backdrop-filter:blur(4px);cursor:pointer}
#jgPopupBox{position:relative;background:#fff;z-index:1;
width:min(520px,92vw);
border-top:3px solid #FE5000;
box-shadow:0 32px 80px rgba(0,0,0,.4);
animation:jgpSlide .45s cubic-bezier(.22,1,.36,1) both}
@keyframes jgpSlide{from{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}
#jgPopupClose{position:absolute;top:16px;right:18px;
background:none;border:none;cursor:pointer;
font-size:22px;color:#999;line-height:1;padding:4px;
font-family:’Futura’,’Century Gothic’,Arial,sans-serif;
transition:color .15s}
#jgPopupClose:hover{color:#FE5000}
#jgPopupInner{padding:48px 48px 40px}
#jgPopupEyebrow{font-size:8px;font-weight:700;letter-spacing:.28em;
color:#FE5000;text-transform:uppercase;margin-bottom:20px}
#jgPopupImg{margin-bottom:28px}
#jgPopupLogo{height:20px;display:block}
#jgPopupTitle{font-family:’Georgia’,serif;font-size:28px;font-weight:400;
color:#111;line-height:1.15;margin:0 0 16px}
#jgPopupBody{font-size:13px;line-height:1.75;color:#555;
font-family:’Georgia’,serif;margin:0 0 32px}
#jgPopupCtas{display:flex;gap:14px;align-items:center;margin-bottom:28px;flex-wrap:wrap}
#jgPopupPrimary{background:#FE5000;color:#fff;
padding:13px 28px;font-size:9px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;
text-decoration:none;font-family:’Futura’,’Century Gothic’,Arial,sans-serif;
transition:background .2s}
#jgPopupPrimary:hover{background:#d94400}
#jgPopupSecondary{font-size:9px;font-weight:700;letter-spacing:.18em;
text-transform:uppercase;color:#FE5000;text-decoration:none;
font-family:’Futura’,’Century Gothic’,Arial,sans-serif;border-bottom:1px solid #FE5000;
padding-bottom:1px;transition:color .2s}
#jgPopupSecondary:hover{color:#d94400;border-color:#d94400}
#jgPopupLocation{font-size:9px;color:#bbb;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:480px){
#jgPopupInner{padding:36px 28px 32px}
#jgPopupTitle{font-size:22px}
#jgPopupCtas{flex-direction:column;align-items:flex-start;gap:16px}
}
Wood, iron, and layered media in dialogue. Three artists
whose practices ask what materials hold — and what they refuse.
Opening night: Bainbridge Island in person and Park City virtual, simultaneously.
Every opening at JG Art Gallery + Events is simultaneous —
Bainbridge Island in person and Park City virtual at the exact same moment.
New works available from the moment doors open, to collectors anywhere in the world.
// Countdown
function tick(){
var t=new Date(‘2026-05-02T17:00:00-07:00’)-new Date();
if(t>0){
document.getElementById(‘cd-d’).textContent=Math.floor(t/86400000);
document.getElementById(‘cd-h’).textContent=String(Math.floor((t%86400000)/3600000)).padStart(2,’0′);
document.getElementById(‘cd-m’).textContent=String(Math.floor((t%3600000)/60000)).padStart(2,’0′);
}
}
tick();setInterval(tick,30000);
// Filter
function filterShows(type,btn){
document.querySelectorAll(‘.fb-btn’).forEach(function(b){b.classList.remove(‘active’)});
btn.classList.add(‘active’);
var upcoming=document.getElementById(‘upcomingSection’);
var past=document.getElementById(‘pastSection’);
if(type===’past’){upcoming.style.display=’none’;past.style.display=’block’;}
else if(type===’now’){upcoming.style.display=’block’;past.style.display=’none’;}
else{upcoming.style.display=’block’;past.style.display=’block’;}
}
Original works by 50 Pacific Northwest artists — available online and in person
from Bainbridge Island and Park City.
New exhibitions open every first Friday.
#jgPopup{position:fixed;inset:0;z-index:9999;display:flex!important;
align-items:center;justify-content:center;
opacity:0;pointer-events:none;transition:opacity .4s ease}
#jgPopup.jgp-open{opacity:1;pointer-events:all}
#jgPopupOv{position:absolute;inset:0;background:rgba(10,9,8,.82);backdrop-filter:blur(4px);cursor:pointer}
#jgPopupBox{position:relative;background:#fff;z-index:1;
width:min(520px,92vw);
border-top:3px solid #FE5000;
box-shadow:0 32px 80px rgba(0,0,0,.4);
animation:jgpSlide .45s cubic-bezier(.22,1,.36,1) both}
@keyframes jgpSlide{from{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}
#jgPopupClose{position:absolute;top:16px;right:18px;
background:none;border:none;cursor:pointer;
font-size:22px;color:#999;line-height:1;padding:4px;
font-family:’Futura’,’Century Gothic’,Arial,sans-serif;
transition:color .15s}
#jgPopupClose:hover{color:#FE5000}
#jgPopupInner{padding:48px 48px 40px}
#jgPopupEyebrow{font-size:8px;font-weight:700;letter-spacing:.28em;
color:#FE5000;text-transform:uppercase;margin-bottom:20px}
#jgPopupImg{margin-bottom:28px}
#jgPopupLogo{height:20px;display:block}
#jgPopupTitle{font-family:’Georgia’,serif;font-size:28px;font-weight:400;
color:#111;line-height:1.15;margin:0 0 16px}
#jgPopupBody{font-size:13px;line-height:1.75;color:#555;
font-family:’Georgia’,serif;margin:0 0 32px}
#jgPopupCtas{display:flex;gap:14px;align-items:center;margin-bottom:28px;flex-wrap:wrap}
#jgPopupPrimary{background:#FE5000;color:#fff;
padding:13px 28px;font-size:9px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;
text-decoration:none;font-family:’Futura’,’Century Gothic’,Arial,sans-serif;
transition:background .2s}
#jgPopupPrimary:hover{background:#d94400}
#jgPopupSecondary{font-size:9px;font-weight:700;letter-spacing:.18em;
text-transform:uppercase;color:#FE5000;text-decoration:none;
font-family:’Futura’,’Century Gothic’,Arial,sans-serif;border-bottom:1px solid #FE5000;
padding-bottom:1px;transition:color .2s}
#jgPopupSecondary:hover{color:#d94400;border-color:#d94400}
#jgPopupLocation{font-size:9px;color:#bbb;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:480px){
#jgPopupInner{padding:36px 28px 32px}
#jgPopupTitle{font-size:22px}
#jgPopupCtas{flex-direction:column;align-items:flex-start;gap:16px}
}
(function(){
var POPUP_KEY = ‘jg_popup_seen’;
// Determine which page we’re on
var path = window.location.pathname;
var isHome = (path === ‘/’ || path === ”);
var isExhibitions = (path.indexOf(‘/exhibitions’) === 0 && path.indexOf(‘/exhibitions/’) !== 0);
if(!isHome && !isExhibitions) return;
var seen = ”;
try { seen = localStorage.getItem(POPUP_KEY) || ”; } catch(e){}
// Homepage: show if never seen (seen === ”)
// Exhibitions: show if seen exactly ‘1’ (was shown on homepage)
var shouldShow = (isHome && seen === ”) || (isExhibitions && seen === ‘1’);
if(!shouldShow) return;
// Mark as seen
try {
localStorage.setItem(POPUP_KEY, isHome ? ‘1’ : ‘2’);
} catch(e){}
var popup = document.getElementById(‘jgPopup’);
var box = document.getElementById(‘jgPopupBox’);
var ov = document.getElementById(‘jgPopupOv’);
var closeBtn = document.getElementById(‘jgPopupClose’);
if(!popup) return;
function openPopup(){
popup.style.display = ‘flex’;
requestAnimationFrame(function(){
popup.classList.add(‘jgp-open’);
});
document.body.style.overflow = ‘hidden’;
closeBtn.focus();
}
function closePopup(){
popup.classList.remove(‘jgp-open’);
document.body.style.overflow = ”;
setTimeout(function(){ popup.style.display = ‘none’; }, 400);
}
// Open after 1.8s delay — let page settle
setTimeout(openPopup, 1800);
// Auto-dismiss after 12s
var autoTimer = setTimeout(closePopup, 13800);
// Close events
closeBtn.addEventListener(‘click’, function(){ clearTimeout(autoTimer); closePopup(); });
ov.addEventListener(‘click’, function(){ clearTimeout(autoTimer); closePopup(); });
document.addEventListener(‘keydown’, function(e){
if(e.key === ‘Escape’){ clearTimeout(autoTimer); closePopup(); }
});
// CTA clicks close popup
var ctas = popup.querySelectorAll(‘#jgPopupPrimary, #jgPopupSecondary’);
ctas.forEach(function(a){
a.addEventListener(‘click’, function(){ clearTimeout(autoTimer); closePopup(); });
});
})();