/* Home: ACADEMICS colour and style layer (sections keep their structure) */
html,body{background:#0A0F24!important;background-image:none!important;color:#E6E9F5}
#float-layer-global,.particle,.vc-glow{display:none!important}
main .f-a,main .f-b,main .f-c,main .f-d,main .spin,main .spin-r,main .glow,.cta-pulse,main .wave,.vc-cross,main .animate-pulse,.cgs-img.on,.nw-feat.kb img,.nw-feat.kb .nw-feat-img{animation:none!important}
.reveal-up,.vc-eyebrow,.vc-statement .vc-w,.vc-divider,.word{opacity:1!important;transform:none!important;filter:none!important}
.vc-line{width:120px!important;transition:none!important;box-shadow:none!important}
.vc-key{text-shadow:none!important;color:#7BD6F0!important}
.word.hl{text-shadow:none!important}
.active-card{transform:none!important;outline:none!important;box-shadow:none!important}
.glow-line{background:rgba(255,255,255,.08)!important;box-shadow:none!important}

/* panels and cards */
main .seg-panel{background:#0E1430!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:24px!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
main .seg-panel::before{display:none!important}
main .card{background:#11173A!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#E6E9F5}
main .card-soft{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:none!important;backdrop-filter:none!important}
main .lift:hover{box-shadow:0 24px 50px -24px rgba(0,0,0,.7)!important;border-color:rgba(255,255,255,.18)!important}

/* type */
main h2.font-display,main h3.font-display{font-weight:700!important;letter-spacing:-.03em!important}
main span.text-xs.uppercase.text-cyan.font-bold{font-weight:600!important;letter-spacing:.14em!important;color:#9aa3c7!important}

/* buttons: ACADEMICS primary (white) and ghost */
main button.bg-cyan,main a.bg-cyan,main .tw-rsvp,main .cgs-join,main .sw-follow{background:#fff!important;color:#0A0F24!important;border-radius:12px!important;box-shadow:none!important;font-weight:600!important}
main button.bg-cyan:hover,main a.bg-cyan:hover,main .tw-rsvp:hover,main .cgs-join:hover,main .sw-follow:hover{background:#dff4fb!important;transform:none}
main .btn3d:hover{transform:none!important;box-shadow:none!important}
main button.bg-white\/10,main a.bg-white\/10{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.18)!important}
main button.bg-white\/10:hover,main a.bg-white\/10:hover{border-color:rgba(255,255,255,.4)!important}
.hdot.on{background:#fff!important;box-shadow:none!important}

/* ===== HERO: The Watch masthead + window ===== */
.hm{padding:34px 0 26px}
.hm-wrap{max-width:1560px;margin:0 auto;padding:0 32px}
.hm-mast{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(54px,7vw,104px);line-height:1;letter-spacing:-.03em;color:#fff;text-align:center;margin:0}
.hm-rule{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:22px;padding:12px 0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);font:500 12px 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#c9cfe6}
.hm-rule>:nth-child(2){text-align:center;color:#fff}
.hm-rule>:nth-child(3){text-align:right}
.hm-win{position:relative;margin-top:22px;border-radius:24px;overflow:hidden;background:#0A0F24;height:clamp(440px,44vw,600px)}
.hm-win .hslide{position:absolute;inset:0}
.hm-win .hslide img,.hm-win .hslide video{width:100%;height:100%;object-fit:cover;display:block}
.hm-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,36,.05) 30%,rgba(10,15,36,.55) 62%,rgba(10,15,36,.94))}
.hm-cap{position:absolute;left:44px;right:44px;bottom:38px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.hm-ey{font:500 12px 'JetBrains Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:#7BD6F0}
.hm-h{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.02em;color:#fff;margin:12px 0 0;max-width:640px}
.hm-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex-shrink:0}
.hm-venue{color:#d5daee;font-size:15px}
.hm-btns{display:flex;gap:10px}
.hm-btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 24px;border-radius:999px;font:600 15px Inter,sans-serif;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}
.hm-btn.p{background:#fff;color:#0A0F24;border:0}
.hm-btn.p:hover{background:#dff4fb}
.hm-btn.g{background:rgba(10,15,36,.25);color:#fff;border:1px solid rgba(255,255,255,.4)}
.hm-btn.g:hover{border-color:#fff}
.hm-ctl{position:absolute;top:22px;right:22px;display:flex;align-items:center;gap:10px;padding:6px;border-radius:999px;background:rgba(10,15,36,.55);border:1px solid rgba(255,255,255,.14);z-index:5}
.hm-ctl button{width:34px;height:34px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:12px;cursor:pointer;background:transparent;border:0}
.hm-ctl button:hover{background:#fff;color:#0A0F24}
.hm-ctl .hdot{display:inline-block;height:6px;width:6px;border-radius:6px;background:rgba(255,255,255,.4);cursor:pointer;transition:width .3s,background .3s}
.hm-ctl .hdot.on{width:22px;background:#fff}
.hm-dots{display:flex;gap:6px;align-items:center}
@media(max-width:820px){.hm-wrap{padding:0 18px}.hm-rule{grid-template-columns:1fr;text-align:center;gap:6px}.hm-rule>*{text-align:center!important}.hm-cap{left:20px;right:20px;bottom:22px;flex-direction:column;align-items:flex-start}.hm-right{align-items:flex-start}.hm-win{height:520px}}

/* calendar additions */
.cal-blank{visibility:hidden}
.cal-cell{cursor:pointer}
.cal-navoff{opacity:.35;pointer-events:none}
.cal-cell.is-today::after{animation:none!important;box-shadow:none!important}
.map-card{opacity:1!important;animation:none!important}
.hm-win .hslide{transition:opacity .5s ease}
.hm-win .hslide:not(.on){pointer-events:none}

/* modal + toast */
.whm-ov{position:fixed;inset:0;z-index:9999;background:rgba(5,8,22,.72);display:none;align-items:center;justify-content:center;padding:20px}
.whm-ov.on{display:flex}
.whm{width:100%;max-width:460px;background:#10163A;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px;color:#E6E9F5;font-family:Inter,sans-serif;position:relative}
.whm h3{font:700 24px Sora,sans-serif;letter-spacing:-.03em;color:#fff;margin:6px 0 4px}
.whm .eb{font:600 12px Inter;letter-spacing:.14em;text-transform:uppercase;color:#9aa3c7}
.whm p.sub{color:#aab2d3;font-size:14px;margin:0 0 16px}
.whm label{display:block;font:600 12px Inter;color:#9aa3c7;margin:12px 0 6px}
.whm input,.whm textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 14px;color:#fff;font:400 15px Inter;outline:none}
#csSearch{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important}
#csSearch::placeholder{color:rgba(255,255,255,.45)}
[data-design-id^="campus-map"]{background-color:#0D132E!important;background-image:linear-gradient(rgba(123,214,240,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(123,214,240,.07) 1px,transparent 1px),radial-gradient(circle at 38% 46%,rgba(123,214,240,.22),transparent 34%)!important;background-size:32px 32px,32px 32px,100% 100%!important}
.whm input:focus,.whm textarea:focus{border-color:#7BD6F0}
.whm .go{margin-top:18px;width:100%;height:50px;border-radius:12px;background:#fff;color:#0A0F24;font:600 15px Inter;border:0;cursor:pointer}
.whm .go:hover{background:#dff4fb}
.whm .go[disabled]{opacity:.6}
.whm .x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;color:#9aa3c7;background:rgba(255,255,255,.05);border:0;cursor:pointer}
.whm .msg{margin-top:12px;font-size:14px;min-height:20px}
.whm .ok{text-align:center;padding:18px 0 6px}
.whm .ok i{font-size:34px;color:#34D399}
.whm-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:10000;background:#fff;color:#0A0F24;font:600 14px Inter;padding:12px 20px;border-radius:12px;box-shadow:0 18px 40px -12px rgba(0,0,0,.6);display:none}
.whm-toast.on{display:block}
