:root{--ink:#0b1320;--blue:#165AA5}
*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--ink);background:linear-gradient(180deg,#eaf3ff 0%, #d9e9ff 100%)}
.uni-hero{text-align:center;padding:26px 12px 8px}.uni-hero h1{margin:6px 0 6px}
.uni-aux{max-width:1100px;margin:8px auto 18px;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:0 10px}
.return{font-weight:700;text-decoration:none;color:var(--ink);opacity:.9}.return:hover{opacity:1;transform:translateX(-2px)}
.spaces-badge{background:#0b1320;color:#fff;padding:6px 12px;border-radius:999px;font-weight:800;box-shadow:0 6px 0 #00000033}
.grid{max-width:1100px;margin:0 auto;padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid #e6ecf6;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.06);display:flex;flex-direction:column;overflow:hidden}
.banner{width:100%;aspect-ratio:16/9;object-fit:cover}
.card-body{display:flex;flex-direction:column;padding:12px}
.card h3{margin:6px 0 4px}.card p{margin:0 0 10px;opacity:.9}
.card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.count{font-weight:800}
.card-actions{display:flex;gap:10px;align-items:center}
.btn-share,.btn-enroll{height:36px;display:inline-flex;align-items:center;padding:0 14px;border-radius:12px;border:2px solid #0b1320;font-weight:800;box-shadow:0 6px 0 #0b1320;transition:transform .12s ease, box-shadow .12s ease}
.btn-enroll{background:#0b1320;color:#fff}.btn-enroll:hover{transform:translateY(-2px)}.btn-enroll:active{transform:translateY(0); box-shadow:0 2px 0 #0b1320}
.btn-share{background:#fff;color:#0b1320}.btn-share:hover{transform:translateY(-2px)}.btn-share:active{transform:translateY(0); box-shadow:0 2px 0 #0b1320}
.btn-enroll[disabled]{opacity:.7;pointer-events:none}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center;padding:18px}
.modal{background:#fff;max-width:520px;width:100%;border-radius:16px;padding:18px 18px 24px;box-shadow:0 30px 60px rgba(0,0,0,.25);position:relative}
.modal .close{position:absolute;margin-left:auto;right:26px;top:20px;border:none;background:transparent;font-size:28px;cursor:pointer}
.modal form{display:flex;gap:8px;margin-top:8px}
.modal input[type=email]{flex:1;padding:10px 12px;border:2px solid #e5e7eb;border-radius:10px;font-size:16px}
@media (max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid{grid-template-columns:1fr}}
