/* Scoped to the Cube homepage popup; no header/menu or school popup selectors. */
body.csc-welcome-enabled:not(.csc-welcome-released) .cube-admissions-pill{display:none!important}
.csc-welcome-dialog{--csc-navy:#003452;--csc-orange:var(--e-global-color-d49ac81,#ff583d);box-sizing:border-box;width:min(860px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:18px;background:white;color:var(--csc-navy);box-shadow:0 12px 52px #00345230;font-family:var(--e-global-typography-text-font-family,'Plus Jakarta Sans'),sans-serif;overflow:auto;overscroll-behavior:contain}
.csc-welcome-dialog::backdrop{background:rgb(0 34 56 / 12%)}
.csc-welcome-dialog[open]{animation:csc-welcome-fade .3s ease-out}
.csc-welcome-layout{display:grid;grid-template-columns:1fr 1fr;min-height:460px}
.csc-welcome-admissions{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:44px;background:var(--csc-navy);color:#fff}
.csc-welcome-admissions::after{content:'';position:absolute;z-index:-1;width:280px;height:280px;border-radius:50%;left:-110px;bottom:-140px;background:#ff947b22;pointer-events:none}
.csc-welcome-dialog .csc-welcome-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 22px;color:#ffc5b4;font-size:16px;font-weight:700;letter-spacing:.8px;line-height:1.4}
.csc-welcome-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:var(--csc-orange);border:1px solid #ffffff90;box-sizing:border-box;animation:csc-welcome-ripple 2.2s linear infinite}
.csc-welcome-dialog .csc-welcome-admissions h2{font-family:'Fraunces',Georgia,serif;font-size:44px;font-weight:600;line-height:1.06;letter-spacing:-1px;color:#fff;margin:0 0 24px}
.csc-welcome-admissions h2 span{white-space:nowrap}
.csc-welcome-dialog .csc-welcome-intro{font-size:17px;font-weight:500;line-height:1.65;margin:0 0 32px;max-width:290px}
.csc-welcome-dialog a.csc-welcome-button{box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:44px;margin-top:auto;padding:13px 22px;border:0;border-radius:999px;background:var(--csc-orange);color:#fff;font-size:14px;font-weight:600;text-decoration:none;line-height:1.4;transition:filter .2s}
.csc-welcome-dialog a.csc-welcome-button:hover{filter:brightness(.94)}
.csc-welcome-days{padding:44px 36px 30px;display:flex;flex-direction:column}
.csc-welcome-dialog .csc-welcome-days h2{font-family:inherit;font-size:24px;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--csc-navy);margin:0 24px 18px 0}
.csc-welcome-dialog ul.csc-welcome-events{list-style:none;margin:0 0 28px;padding:0}
.csc-welcome-event{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;padding:16px 0;border-top:1px solid #e7edf2;margin:0}
.csc-welcome-event:last-child{border-bottom:1px solid #e7edf2}
.csc-welcome-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:58px;box-sizing:border-box;border-radius:10px;background:#fff0e9;font-family:inherit;font-variant-numeric:lining-nums tabular-nums;text-align:center;line-height:1}
.csc-welcome-date strong{font-size:24px;font-weight:700;line-height:1.1}
.csc-welcome-date span{font-size:9px;font-weight:700;letter-spacing:.6px;margin-top:5px;color:#d54325}
.csc-welcome-dialog .csc-welcome-event h3{font-family:inherit;color:var(--csc-navy);font-size:14px;font-weight:700;line-height:1.4;letter-spacing:0;margin:0 0 5px}
.csc-welcome-dialog .csc-welcome-event p{font-size:12px;line-height:1.4;margin:0;color:#36536a}
.csc-welcome-dialog .csc-welcome-foot{font-size:11px;line-height:1.6;margin:auto 0 0;color:#53677c}
.csc-welcome-foot a{color:var(--csc-navy);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.csc-welcome-empty{font-size:14px;line-height:1.6;margin:0 0 24px}
.csc-welcome-dialog .csc-welcome-close{position:absolute;z-index:3;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#eef3f6;color:var(--csc-navy);font-family:Arial,sans-serif;font-size:24px;font-weight:400;line-height:1;cursor:pointer}
.csc-welcome-dialog a:focus-visible,.csc-welcome-dialog button:focus-visible{outline:3px solid #29c3cc;outline-offset:4px}
.csc-welcome-dialog [hidden],#csc-welcome[hidden]{display:none!important}
@keyframes csc-welcome-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes csc-welcome-ripple{from{box-shadow:0 0 0 0 #ffc5b4aa}to{box-shadow:0 0 0 7px #ffc5b400}}
@media(max-width:640px){
 .csc-welcome-dialog{width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:16px}
 .csc-welcome-layout{grid-template-columns:1fr;min-height:0}
 .csc-welcome-admissions{padding:30px 26px 26px}
 .csc-welcome-admissions::after{width:180px;height:180px;left:auto;bottom:auto;right:-80px;top:-90px}
 .csc-welcome-dialog .csc-welcome-eyebrow{font-size:14px;letter-spacing:.6px;margin:0 30px 16px 0}
 .csc-welcome-dialog .csc-welcome-admissions h2{font-size:36px;margin:0 0 16px}
 .csc-welcome-dialog .csc-welcome-intro{font-size:15px;line-height:1.55;margin-bottom:20px;max-width:280px}
 .csc-welcome-dialog a.csc-welcome-button{width:100%;box-sizing:border-box;padding:12px 16px;font-size:14px}
 .csc-welcome-days{padding:26px}
 .csc-welcome-dialog .csc-welcome-days h2{font-size:21px;margin:0 0 14px}
 .csc-welcome-event{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:12px 0}
 .csc-welcome-date{width:52px;height:52px}.csc-welcome-date strong{font-size:22px}
 .csc-welcome-dialog .csc-welcome-event h3{font-size:13px}
 .csc-welcome-dialog ul.csc-welcome-events{margin-bottom:24px}
 .csc-welcome-dialog .csc-welcome-close{top:10px;right:10px;background:#ffffff22;color:#fff}
}
/* Admin preview dimensions are independent of the WordPress sidebar. */
.csc-welcome-preview .csc-welcome-dialog:not([open]){display:block;position:relative;margin:20px 0;max-height:none}
@media(prefers-reduced-motion:reduce){.csc-welcome-dialog[open],.csc-welcome-dot{animation:none!important}}

.csc-welcome-dialog .csc-welcome-event .csc-welcome-city{margin:0 0 4px}
.csc-welcome-foot-secondary{display:block}

/* RC12: weekday and brighter, slightly larger announcement beacon. */
.csc-welcome-dot{width:15px;height:15px;flex-basis:15px;border:1px solid #fff;animation:csc-welcome-ripple 1.8s linear infinite}
@keyframes csc-welcome-ripple{from{box-shadow:0 0 0 0 #ffe1d4cc}to{box-shadow:0 0 0 9px #ffe1d400}}
.csc-welcome-date .csc-welcome-weekday{font-size:8px;font-weight:700;line-height:1.2;letter-spacing:.4px;color:var(--csc-navy);margin-bottom:2px}
.csc-welcome-date span{margin-top:2px}
@media(prefers-reduced-motion:reduce){.csc-welcome-dot{animation:none!important}}

/* Explicit visitor opt-out, styled as a discreet text link. */
.csc-welcome-dismiss{display:block;width:auto;min-height:44px;margin:12px 0 0;padding:8px 0;background:transparent!important;border:0;border-radius:0;box-shadow:none;color:#52657b!important;font:400 13px/1.5 "Plus Jakarta Sans",sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.csc-welcome-dismiss:hover{color:#003057!important}
.csc-welcome-dismiss:focus-visible{outline:2px solid #003057;outline-offset:3px}
