.activity-launcher { position:static; border:0; cursor:pointer; font:inherit; font-weight:400; font-size:1rem; line-height:inherit; }
.activity-popup { width:min(940px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:0; border-radius:24px; color:var(--ink); background:#fff; overflow:auto; box-shadow:0 24px 100px #0005; }
.activity-popup [hidden] { display:none!important; }
.activity-popup::backdrop { background:rgba(15,20,29,.65); backdrop-filter:blur(4px); }
.activity-popup .activity-close { position:sticky; top:12px; float:right; margin:12px 12px -52px 0; z-index:2; width:40px; height:40px; border:1px solid #d8d9dd; border-radius:50%; background:white; color:#253785; font:28px Arial,sans-serif; cursor:pointer; }
.activity-popup .activity-intro { padding:32px 64px 24px 32px; background:#eef0ff; }
.activity-popup .eyebrow { margin-bottom:10px; color:#253785; }
.activity-popup h2 { font-size:clamp(1.8rem,4vw,2.8rem)!important; line-height:1.08; max-width:650px; }
.activity-popup .activity-intro p:last-child { margin:14px 0 0; max-width:640px; line-height:1.5; }
.activity-popup .activity-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:24px 28px; }
.activity-popup .activity-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #d8d9dd; border-radius:14px; background:white; }
.activity-popup .activity-card img { width:100%; height:125px; object-fit:cover; }
.activity-popup .activity-card-content { display:flex; flex:1; flex-direction:column; padding:16px; border-top:4px solid #253785; }
.activity-popup .activity-card:nth-child(2n) .activity-card-content { border-color:#d81ac1; }
.activity-popup .activity-card h3 { font-size:1.3rem; line-height:1.15; }
.activity-popup .activity-card p { font-size:.9rem; line-height:1.45; margin:12px 0 18px; }
.activity-popup .activity-card .button { font-size:.85rem; padding:11px 12px; margin-top:auto; min-height:44px; text-align:center; text-decoration:none; border:0; cursor:pointer; font-family:inherit; width:100%; }
.activity-popup .activity-card:last-child { background:#253785; color:white; border-color:#253785; }
.activity-popup .activity-card:last-child .button { background:#4ad508; color:#1e2022!important; }
.activity-popup .activity-footer { padding:0 28px 24px; margin:0; font-size:.85rem; color:#4a4d55; }
.activity-popup button:focus-visible,.activity-popup a:focus-visible,.activity-launcher:focus-visible { outline:3px solid #253785; outline-offset:3px; }
.activity-enquiry { padding:18px 28px 24px; }
.activity-enquiry h3 { margin:8px 0 14px; font-size:1.4rem; }
.activity-back { background:none; border:0; color:#253785; padding:0; font:inherit; font-size:.88rem; text-decoration:underline; cursor:pointer; min-height:38px; }
.activity-enquiry label { display:block; font-size:.9rem; margin-bottom:12px; }
.activity-enquiry input,.activity-enquiry select { display:block; width:100%; min-height:44px; margin-top:5px; padding:8px 11px; border:1px solid #a8abb4; border-radius:8px; background:#fff; color:#1e2022; font:inherit; font-size:1rem; }
.activity-enquiry input:focus-visible,.activity-enquiry select:focus-visible { outline:3px solid #253785; outline-offset:2px; }
.activity-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.activity-note { margin:8px 0; font-size:.8rem; line-height:1.45; color:#4a4d55; }
.activity-enquiry > .button { width:100%; border:0; cursor:pointer; font:inherit; min-height:46px; margin-top:6px; }
.activity-popup.is-activity-enquiry { width:min(720px,calc(100% - 24px)); }
.activity-popup.is-activity-enquiry .activity-intro { padding:20px 64px 16px 24px; }
.activity-popup.is-activity-enquiry .activity-intro h2 { font-size:clamp(1.4rem,3vw,1.85rem)!important; }
.activity-popup.is-activity-enquiry .activity-intro p:last-child { display:none; }
@media(max-width:760px) {
  .activity-popup .activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px; gap:12px; }
  .activity-popup .activity-intro { padding:26px 56px 20px 22px; }
  .activity-popup .activity-card img { height:100px; }
  .activity-popup .activity-card-content { padding:12px; }
  .activity-popup .activity-footer { padding:0 18px 22px; }
  .activity-enquiry { padding:16px 20px 20px; }
  .activity-form-grid { grid-template-columns:1fr; gap:0; }
}
@media(max-width:360px) { .activity-popup .activity-grid { grid-template-columns:1fr; } }
