:root{
    --exodus-bg:#14120f;
    --exodus-panel:#191714;
    --exodus-gold:#c58a3a;
    --exodus-gold-soft:#e0aa5c;
    --exodus-cream:#f4eee3;
    --exodus-muted:#b8ada0;
    --exodus-line:rgba(197,138,58,.24);
}
.exodus-events-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:30px;
    width:100%;
}
.exodus-event-card{
    position:relative;
    overflow:hidden;
    background:var(--exodus-panel);
    border:1px solid rgba(255,255,255,.13);
    border-radius:10px;
    color:var(--exodus-cream);
    transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .45s,box-shadow .45s;
}
.exodus-event-card:hover{
    transform:translateY(-7px);
    border-color:rgba(197,138,58,.55);
    box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.exodus-event-media{
    display:block;
    position:relative;
    height:317px;
    overflow:hidden;
    background:#0d0c0a;
}
.exodus-event-media img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;
    filter:saturate(.82) contrast(1.03);
}
.exodus-event-card:hover .exodus-event-media img{transform:scale(1.045);filter:saturate(1) contrast(1.05)}
.exodus-event-media:after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.02) 40%,rgba(0,0,0,.52));
    pointer-events:none;
}
.exodus-date-badge{
    position:absolute;z-index:2;left:30px;top:30px;
    width:84px;min-height:93px;padding:13px 8px 11px;
    background:#282019;border:1px solid rgba(197,138,58,.35);
    border-radius:4px;text-align:center;display:flex;flex-direction:column;justify-content:center;
    box-shadow:0 8px 25px rgba(0,0,0,.22);
}
.exodus-date-badge span{
    font:600 14px/1.1 Montserrat,Arial,sans-serif;letter-spacing:2px;color:var(--exodus-gold-soft);
}
.exodus-date-badge strong{
    margin-top:7px;font:400 38px/.95 "Cormorant Garamond",Georgia,serif;color:#fff;
}
.exodus-card-arrow{
    position:absolute;right:24px;top:24px;z-index:3;
    width:40px;height:40px;border:1px solid rgba(255,255,255,.22);border-radius:50%;
    display:grid;place-items:center;color:#fff;font:400 19px/1 Arial,sans-serif;
    opacity:0;transform:translate(-5px,5px);transition:.35s;
    background:rgba(20,18,15,.42);backdrop-filter:blur(8px);
}
.exodus-event-card:hover .exodus-card-arrow{opacity:1;transform:none}
.exodus-card-body{padding:39px 40px 36px;min-height:320px}
.exodus-pill{
    display:inline-flex;align-items:center;min-height:41px;padding:0 15px;
    border:1px solid rgba(197,138,58,.72);border-radius:999px;
    color:var(--exodus-gold-soft);
    font:600 13px/1 Montserrat,Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;
}
.exodus-card-meta{
    margin-top:19px;color:#9f9284;
    font:500 12px/1.4 Montserrat,Arial,sans-serif;letter-spacing:1.65px;text-transform:uppercase;
}
.exodus-card-body h3{
    margin:19px 0 18px;font:400 43px/.98 "Cormorant Garamond",Georgia,serif;letter-spacing:-.5px;
}
.exodus-card-body h3 a{color:var(--exodus-cream);text-decoration:none}
.exodus-card-body p{
    margin:0;color:#c8bdb0;font:400 16px/1.8 Montserrat,Arial,sans-serif;
}
.exodus-card-link{
    display:inline-flex;gap:9px;margin-top:27px;color:var(--exodus-gold-soft)!important;text-decoration:none;
    font:700 13px/1 Montserrat,Arial,sans-serif;letter-spacing:1.25px;
}
.exodus-card-link span{transition:transform .25s}
.exodus-card-link:hover span{transform:translateX(4px)}
.exodus-location{
    margin-top:20px;color:#7f756b;font:500 11px/1.4 Montserrat,Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase;
}
.exodus-event-placeholder{height:100%;display:grid;place-items:center;color:rgba(197,138,58,.45);font:700 34px/1 Montserrat,Arial,sans-serif;letter-spacing:8px}
.exodus-events-empty{
    padding:80px 20px;text-align:center;border:1px solid var(--exodus-line);background:var(--exodus-panel);
    color:var(--exodus-muted);font-family:Montserrat,sans-serif;
}
.exodus-events-empty strong{display:block;margin-top:8px;color:var(--exodus-cream);font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:400}

/* Single event */
.exodus-single{
    background:var(--exodus-bg);color:var(--exodus-cream);
    font-family:Montserrat,Arial,sans-serif;
}
.exodus-single *{box-sizing:border-box}
.exodus-single-hero{
    position:relative;min-height:min(760px,88vh);display:flex;align-items:flex-end;overflow:hidden;
    background:#0d0c0a;
}
.exodus-single-bg,.exodus-single-overlay{position:absolute;inset:0}
.exodus-single-bg img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72)}
.exodus-single-overlay{
    background:linear-gradient(90deg,rgba(11,9,7,.93) 0%,rgba(11,9,7,.62) 45%,rgba(11,9,7,.15) 100%),
               linear-gradient(0deg,rgba(11,9,7,.96) 0%,rgba(11,9,7,.05) 58%);
}
.exodus-single-content{
    position:relative;z-index:2;width:min(1220px,calc(100% - 80px));margin:0 auto;padding:70px 0 90px;
}
.exodus-back{
    display:inline-block;margin-bottom:80px;color:#c9bdb0;text-decoration:none;
    font:700 11px/1 Montserrat,sans-serif;letter-spacing:2px;transition:color .2s;
}
.exodus-back:hover{color:var(--exodus-gold-soft)}
.exodus-single-date{
    position:absolute;right:0;top:145px;width:110px;min-height:120px;padding:16px 8px;
    border:1px solid rgba(197,138,58,.5);background:rgba(31,24,18,.72);backdrop-filter:blur(8px);
    text-align:center;border-radius:5px;
}
.exodus-single-date span{display:block;color:var(--exodus-gold-soft);font:700 15px/1 Montserrat,sans-serif;letter-spacing:2px}
.exodus-single-date strong{display:block;margin-top:10px;color:#fff;font:400 52px/.85 "Cormorant Garamond",serif}
.exodus-single-content h1{
    max-width:850px;margin:25px 0 20px;color:#f7f0e7;
    font:400 clamp(55px,8vw,108px)/.82 "Cormorant Garamond",Georgia,serif;letter-spacing:-2px;
}
.exodus-single-subline{
    color:#d0c2b4;font:500 13px/1.5 Montserrat,sans-serif;letter-spacing:1.5px;text-transform:uppercase;
}
.exodus-single-subline i{font-style:normal;color:var(--exodus-gold)}
.exodus-single-main{
    width:min(1220px,calc(100% - 80px));margin:0 auto;padding:105px 0 120px;
    display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:90px;
}
.exodus-kicker{
    margin-bottom:28px;color:var(--exodus-gold-soft);font:700 12px/1 Montserrat,sans-serif;letter-spacing:2.4px;
}
.exodus-prose{color:#c9beb2;font:400 17px/1.95 Montserrat,sans-serif}
.exodus-prose p{margin:0 0 24px}
.exodus-prose h2,.exodus-prose h3{
    color:var(--exodus-cream);font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
}
.exodus-prose h2{font-size:48px;line-height:1;margin:45px 0 20px}
.exodus-prose h3{font-size:34px}
.exodus-event-panel{
    align-self:start;position:sticky;top:35px;padding:34px;background:#191613;
    border:1px solid rgba(255,255,255,.12);border-radius:7px;box-shadow:0 30px 80px rgba(0,0,0,.2);
}
.exodus-panel-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:23px;border-bottom:1px solid rgba(255,255,255,.1)}
.exodus-panel-top span{color:var(--exodus-gold-soft);font:700 11px/1 Montserrat,sans-serif;letter-spacing:1.7px}
.exodus-panel-top b{color:#8b8177;font:700 10px/1 Montserrat,sans-serif;letter-spacing:2px}
.exodus-info-list>div{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.exodus-info-list small{display:block;margin-bottom:8px;color:#857b71;font:700 10px/1 Montserrat,sans-serif;letter-spacing:1.7px}
.exodus-info-list strong{display:block;color:#e9e0d5;font:400 17px/1.4 "Cormorant Garamond",Georgia,serif}
.exodus-primary-btn{
    display:flex;align-items:center;justify-content:space-between;margin-top:25px;padding:17px 18px;
    color:#17130f!important;background:var(--exodus-gold);text-decoration:none!important;
    font:700 11px/1 Montserrat,sans-serif;letter-spacing:1.4px;text-transform:uppercase;transition:.3s;
}
.exodus-primary-btn:hover{background:#dda454;transform:translateY(-2px)}
.exodus-primary-btn span{font-size:18px}
.exodus-single-footer{
    border-top:1px solid rgba(255,255,255,.09);width:min(1220px,calc(100% - 80px));margin:0 auto;
    padding:26px 0 35px;display:flex;justify-content:space-between;gap:20px;
    color:#756c63;font:700 9px/1 Montserrat,sans-serif;letter-spacing:1.7px;
}
@media(max-width:1000px){
    .exodus-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .exodus-single-main{grid-template-columns:1fr;gap:55px}
    .exodus-event-panel{position:relative;top:auto}
}
@media(max-width:700px){
    .exodus-events-grid{grid-template-columns:1fr;gap:20px}
    .exodus-event-media{height:270px}
    .exodus-card-body{padding:30px 25px;min-height:0}
    .exodus-card-body h3{font-size:38px}
    .exodus-date-badge{left:20px;top:20px}
    .exodus-single-hero{min-height:680px}
    .exodus-single-content,.exodus-single-main,.exodus-single-footer{width:min(100% - 40px,1220px)}
    .exodus-single-content{padding-bottom:55px}
    .exodus-back{margin-bottom:100px}
    .exodus-single-date{top:125px;right:0;width:84px;min-height:94px}
    .exodus-single-date strong{font-size:42px}
    .exodus-single-content h1{font-size:64px;letter-spacing:-1px}
    .exodus-single-main{padding:70px 0 80px}
    .exodus-event-panel{padding:26px}
    .exodus-single-footer{display:block}
    .exodus-single-footer span{display:block;margin:7px 0}
}
