.events-calendar{position:relative;overflow:hidden;padding:112px 0;background:var(--cream)}
.events-calendar::before{content:"";position:absolute;top:-110px;right:-90px;width:270px;height:270px;border:1px solid rgba(189,93,53,.18);border-radius:50%;box-shadow:0 0 0 19px rgba(189,93,53,.05),0 0 0 40px rgba(189,93,53,.035);pointer-events:none}
.events-calendar-header{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:52px}
.events-calendar-header .text-link{color:var(--forest);margin-bottom:7px}
.calendar-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:60px;align-items:start}
.calendar-intro{display:grid;gap:28px;max-width:280px;color:#5e6b62}
.calendar-intro>p{font-size:16px;line-height:1.6}
.calendar-stamp{display:grid;justify-items:start;width:150px;padding:20px 22px;border-radius:16px;background:var(--forest);color:var(--paper);box-shadow:12px 13px 0 rgba(18,61,50,.12);transform:rotate(-2deg)}
.calendar-stamp span,.event-type,.calendar-empty>span{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--clay)}
.calendar-stamp span{color:var(--sun)}
.calendar-stamp strong{font:64px/.9 Georgia,serif;letter-spacing:-.07em;margin:9px 0 3px}
.calendar-stamp small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#cdded4}
.event-list{display:grid;gap:12px}
.event-card{display:grid;grid-template-columns:82px minmax(0,1fr) 34px;gap:20px;align-items:center;padding:18px;border:1px solid rgba(18,61,50,.14);border-radius:16px;background:rgba(255,253,248,.76);box-shadow:0 8px 24px rgba(18,61,50,.055);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.event-card:hover{transform:translateY(-3px);border-color:rgba(189,93,53,.32);box-shadow:0 15px 32px rgba(18,61,50,.11)}
.event-date{display:grid;justify-items:center;align-content:center;min-height:84px;padding:10px 6px;border-radius:12px;background:var(--clay);color:var(--paper);text-align:center}
.event-date span{font-size:10px;font-weight:800;letter-spacing:.13em}
.event-date strong{font:43px/.92 Georgia,serif;letter-spacing:-.06em;margin:5px 0 3px}
.event-date small{font-size:10px;opacity:.78}
.event-content{min-width:0}
.event-type{display:block;margin-bottom:6px}
.event-content h3{font-size:27px;line-height:1.02;letter-spacing:-.045em;color:var(--forest)}
.event-content p{max-width:570px;margin:8px 0 11px;color:#617066;font-size:13px;line-height:1.45}
.event-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#7a877e;font-size:11px}
.event-meta span+span{position:relative;padding-left:18px}
.event-meta span+span::before{content:"";position:absolute;left:0;top:5px;width:4px;height:4px;border-radius:50%;background:var(--sun)}
.event-arrow{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(18,61,50,.25);border-radius:50%;color:var(--forest);font-size:18px;transition:background .2s ease,color .2s ease,transform .2s ease}
.event-card:hover .event-arrow{background:var(--forest);color:var(--sun);transform:rotate(6deg)}
.calendar-empty{padding:32px;border:1px dashed rgba(18,61,50,.28);border-radius:16px;background:rgba(255,253,248,.62)}
.calendar-empty p{margin:10px 0 14px;color:#66746b}
.calendar-empty .text-link{color:var(--forest)}
@media(max-width:760px){.events-calendar{padding:80px 0}.events-calendar-header{display:block;margin-bottom:34px}.events-calendar-header .text-link{display:inline-flex;margin-top:23px}.calendar-layout{grid-template-columns:1fr;gap:35px}.calendar-intro{max-width:none;grid-template-columns:auto 1fr;align-items:center;gap:23px}.calendar-intro>p{margin:0}.event-card{grid-template-columns:68px minmax(0,1fr) 28px;gap:13px;padding:13px}.event-date{min-height:78px}.event-date strong{font-size:36px}.event-content h3{font-size:23px}.event-content p{font-size:12px}.event-arrow{width:27px;height:27px;font-size:15px}}
@media(max-width:460px){.calendar-intro{grid-template-columns:1fr}.calendar-stamp{width:130px}.event-card{grid-template-columns:58px minmax(0,1fr);align-items:start}.event-arrow{grid-column:2;justify-self:start;margin-top:-3px}.event-date strong{font-size:31px}.event-content h3{font-size:21px}}
