.ke-event-cta{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:3rem auto 0;padding:0 3rem;max-width:1280px}
.ke-event-cta>a{display:flex;align-items:center;gap:24px;padding:24px 28px;color:#272936;border:2px solid #272936;border-radius:12px;text-decoration:none;font-weight:700;min-width:0}
.ke-event-cta-calendar{background:#f5c94b}
.ke-event-cta-map{display:block;flex-shrink:0;width:120px;height:auto;object-fit:contain}
.ke-event-cta-copy{flex:1;min-width:0}
.ke-event-cta strong{display:block;font-size:clamp(20px,2.1vw,28px);margin:.2em 0;line-height:1.5}
.ke-event-cta small{font-size:13px;line-height:1.6}
.ke-event-cta .ke-event-cta-arrow{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:2px solid #272936;border-radius:50%;background:#fffdf6;font-size:24px;transition:transform .2s}
.ke-event-cta-calendar:hover .ke-event-cta-arrow{transform:translateX(4px)}
.ke-footer-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 24px;margin:20px 0 8px}
.ke-footer-links a{display:inline-flex;align-items:center;gap:8px;color:inherit;font-size:13px;min-height:44px;text-decoration:none}
.ke-footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.ke-footer-links .ke-footer-calendar{border:1px solid currentColor;border-radius:40px;padding:6px 16px}
.ke-event-cta a:focus-visible,.ke-footer-links a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:600px){.ke-event-cta{padding:0 1rem;margin-top:2rem;gap:12px}.ke-event-cta>a{padding:20px;gap:14px}.ke-event-cta-calendar{flex-wrap:wrap}.ke-event-cta-map{width:80px}.ke-event-cta-copy{flex-basis:calc(100% - 94px)}.ke-event-cta strong{font-size:20px}.ke-event-cta small{font-size:12px}.ke-event-cta-arrow{margin-left:auto}.ke-footer-links{gap:12px 18px}.ke-footer-links .ke-footer-calendar{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.ke-event-cta .ke-event-cta-arrow{transition:none}}

.footer-sns{display:flex;align-items:center;justify-content:flex-start;gap:16px}
.footer-sns .ke-instagram-link{display:inline-flex;align-items:center;justify-content:center;color:inherit;width:32px;height:32px}
.footer-sns .ke-instagram-link svg{display:block;width:32px;height:32px;color:#fff}
.c-shareBtns__item.-instagram .c-shareBtns__btn{background:#d94340;color:#fff}
.ke-instagram-link:focus-visible,.c-shareBtns__item.-instagram a:focus-visible{outline:3px solid currentColor;outline-offset:4px}

/* Match the tie-up image banner below the FV. */
.ke-event-cta{width:740px;max-width:calc(100% - 6rem);padding:0}
.ke-event-cta>.ke-event-cta-calendar{position:relative;display:grid;grid-template-columns:240px minmax(0,1fr) 40px;gap:16px;padding:12px 20px}
.ke-event-cta-map{width:100%;height:auto}
.ke-event-cta strong{font-size:24px}
.ke-event-cta .ke-event-cta-arrow{width:40px;height:40px}
@media(max-width:768px){.ke-event-cta{width:100%;max-width:100%}.ke-event-cta>.ke-event-cta-calendar{grid-template-columns:36% minmax(0,1fr);gap:14px;padding:12px 16px 40px}.ke-event-cta strong{font-size:20px}.ke-event-cta .ke-event-cta-arrow{position:absolute;right:14px;bottom:10px;width:30px;height:30px;font-size:20px}.ke-event-cta small{font-size:11px}}

.footer-sns>a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;line-height:1}
.footer-sns>a img{display:block}

.ke-footer-promos{display:grid;gap:20px;margin-top:24px}
.ke-footer-event-button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5c94b;color:#272936!important;border:2px solid #fffdf6;border-radius:40px;padding:12px 18px;font-weight:700;text-decoration:none;font-size:14px;min-height:48px}
.ke-footer-event-button:hover{background:#fffdf6}
.ke-footer-ad-banner{display:block}
.ke-footer-ad-banner img{display:block;width:100%;height:auto}
.ke-footer-promos a:focus-visible{outline:3px solid #f5c94b;outline-offset:4px}

.ke-footer-event-map,.ke-footer-event-copy small{display:none}
.ke-footer-event-copy strong{font-size:inherit;font-weight:700}
@media(min-width:1024px){
 .ke-footer-event-button{border-radius:12px;padding:16px 14px;gap:12px;min-height:112px}
 .ke-footer-event-map{display:block;width:30%;max-width:120px;height:auto;flex-shrink:0}
 .ke-footer-event-copy{flex:1;min-width:0;line-height:1.6}
 .ke-footer-event-copy strong{display:block;font-size:16px}
 .ke-footer-event-copy small{display:block;font-size:11px;font-weight:500;margin-top:6px}
}
