:root{--purple:#6E4BA3;--magenta:#A4499D;--navy:#06134A;--white:#fff;--off-white:#F7F6FB;--text:#1a1a2e;--muted:#5a5a7a;--border:#e2dff0;--grad:linear-gradient(135deg,#6E4BA3 0%,#A4499D 100%);--grad-dark:linear-gradient(135deg,#06134A 0%,#1a1060 100%);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

/* EVENT TYPE BADGES */
.ev-type{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .65rem;border-radius:4px;display:inline-block;}
.ev-webinar{background:rgba(110,75,163,.1);color:var(--purple);}
.ev-inperson{background:rgba(6,19,74,.08);color:var(--navy);}
.ev-roundtable{background:rgba(164,73,157,.1);color:var(--magenta);}
.ev-thirdparty{background:rgba(0,120,212,.08);color:#0078d4;}
.ev-online{background:rgba(0,179,136,.08);color:#00b388;}

/* FEATURED EVENT */
.event-featured{background:var(--grad-dark);border-radius:14px;padding:2.5rem;margin-bottom:3rem;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;}
.event-featured::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(110,75,163,.25) 0%,transparent 60%);pointer-events:none;}
.event-featured-content{position:relative;z-index:1;}
.event-featured-content .ev-type{margin-bottom:1rem;}
.event-featured-content h2{font-family:'DM Serif Display',serif;font-size:1.75rem;color:#fff;line-height:1.2;margin-bottom:.75rem;}
.event-featured-content p{font-size:.9rem;color:rgba(255,255,255,.6);line-height:1.65;margin-bottom:1.5rem;max-width:520px;}
.event-featured-meta{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.ev-meta-item{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:rgba(255,255,255,.7);}
.event-featured-form{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:1.75rem;min-width:280px;position:relative;z-index:1;flex-shrink:0;}
.event-featured-form h4{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:1rem;}

/* EVENT CARDS */
.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.event-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;transition:box-shadow .2s,border-color .2s;}
.event-card:hover{box-shadow:0 6px 24px rgba(110,75,163,.1);border-color:rgba(110,75,163,.25);}
.event-card-date-col{background:var(--off-white);padding:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;border-right:1px solid var(--border);text-align:center;flex-shrink:0;}
.ev-day{font-family:'DM Serif Display',serif;font-size:2rem;color:var(--navy);line-height:1;}
.ev-month{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.2rem;}
.ev-year{font-size:.68rem;color:var(--muted);}
.event-card-body{padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column;}
.event-card-body .ev-type{margin-bottom:.65rem;}
.event-card-body h3{font-size:.93rem;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:.4rem;}
.event-card-body p{font-size:.8rem;color:var(--muted);line-height:1.55;flex:1;margin-bottom:.85rem;}
.ev-details{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.85rem;}
.ev-detail{font-size:.74rem;color:var(--muted);display:flex;align-items:center;gap:.3rem;}
.event-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.85rem;border-top:1px solid var(--border);}
.ev-spots{font-size:.72rem;color:var(--muted);}
.ev-spots strong{color:var(--navy);}

/* REGISTER MODAL */
.reg-form{display:none;background:var(--off-white);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-top:.75rem;}
.reg-form.open{display:block;}
.fg{display:flex;flex-direction:column;gap:.28rem;margin-bottom:.6rem;}
.fg label{font-size:.72rem;font-weight:600;color:var(--text);}
.fg input,.fg select{padding:.55rem .85rem;border:1.5px solid var(--border);border-radius:6px;font-size:.82rem;font-family:inherit;color:var(--text);background:#fff;outline:none;transition:border-color .15s;}
.fg input:focus,.fg select:focus{border-color:var(--purple);}
.form-disc{font-size:.68rem;color:var(--muted);margin-top:.35rem;}

/* PAST EVENTS */
.past-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.5rem;}
.past-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.25rem;}
.past-card .ev-type{margin-bottom:.6rem;opacity:.65;}
.past-card h4{font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.3rem;line-height:1.3;}
.past-card p{font-size:.76rem;color:var(--muted);line-height:1.5;}
.past-card .ev-date{font-size:.7rem;color:var(--muted);margin-top:.5rem;}

@media(max-width:900px){
  .event-featured{grid-template-columns:1fr;}
  .event-featured-form{min-width:auto;}
  .events-grid{grid-template-columns:1fr;}
  .past-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .past-grid{grid-template-columns:1fr;}
  .event-card{flex-direction:column;}
  .event-card-date-col{flex-direction:row;gap:1rem;justify-content:flex-start;border-right:none;border-bottom:1px solid var(--border);padding:.75rem 1.25rem;}
}