:root{--color-blue:#2e2259;--color-red:#da3725;--color-yellow:#fafe57;--color-ink:#201a2e;--color-pink:#e88dc6;--color-paper:#fff;--color-card-border:#e3e2ea;--color-placeholder-bg:#eef0f5;--color-placeholder-text:#767b8a;--focus-ring:#da3725;--font-heading:"Chedros", "Anton", "Arial Narrow", sans-serif;--font-body:"Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", sans-serif;--font-button:"Forevs Demo", "Bricolage Grotesque", sans-serif;--radius:3px;--shadow-card:0 6px 18px #2e225929;--shadow-card-hover:0 10px 26px #2e22593d;--transition-fast:.15s ease}::selection{background:var(--color-red);color:#fff}@property --media-tint{syntax:"<color>";inherits:false;initial-value:#2e2259}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--color-ink);font-family:var(--font-body);background-color:var(--color-paper);background-image:radial-gradient(ellipse 65vw 55vh at 0% 0%, color-mix(in srgb, var(--color-pink) 88%, transparent), transparent 70%), radial-gradient(ellipse 100vw 55vh at 0% 77%, color-mix(in srgb, var(--color-pink) 44%, transparent), transparent 70%), radial-gradient(ellipse 65vw 55vh at 100% 100%, color-mix(in srgb, var(--color-pink) 55%, transparent), transparent 70%), radial-gradient(ellipse 50vw 40vh at 100% 0%, color-mix(in srgb, var(--color-pink) 66%, transparent), transparent 70%);background-repeat:no-repeat;margin:0;line-height:1.5;overflow-x:hidden}img{max-width:100%;display:block}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a{color:var(--color-red)}a:focus-visible,button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.header-bar{background:var(--color-red);color:#fff;text-align:center;padding:.5rem 1rem}.eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#fff;margin:0;font-size:.8rem;font-weight:600}.header-hero{background:var(--color-blue);text-align:center;padding:1.35rem 1.25rem 1.6rem}.site-header h1{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.02em;color:#fff;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5em;margin:0;font-size:clamp(2.35rem,9vw,4.5rem);font-weight:400;line-height:1.05;display:flex}.site-header h1 .accent{color:var(--color-red);background:#fff;border-radius:12px;padding:.12em .4em .18em;display:inline-block}.site-header h1 .accent>span{display:inline-block}main{max-width:1300px;margin:1rem auto;padding:2.25rem 1.25rem 2.5rem}@media (width>=640px){main{padding:2.5rem 2.25rem 3rem}}.intro{text-align:center;max-width:640px;margin:0 auto .5rem;font-size:1.05rem}.grid{flex-wrap:wrap;justify-content:center;gap:2rem;margin:2.5rem 0 0;display:flex}.grid .card{flex:0 100%;max-width:100%}@media (width>=640px){.grid .card{flex-basis:calc(50% - 1rem);max-width:calc(50% - 1rem)}}@media (width>=960px){.grid .card{flex-basis:calc(33.3333% - 1.33333rem);max-width:calc(33.3333% - 1.33333rem)}}.card{border:1px solid var(--color-card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex;position:relative;overflow:hidden}.card--confirmed{background:var(--color-blue);border-color:var(--color-blue);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast)}.card__main{min-height:0;color:inherit;cursor:pointer;flex-direction:column;flex:auto;text-decoration:none;display:flex}.card__main:focus,.card__main:focus-visible{outline:none}.card--confirmed:hover,.card--confirmed:has(.card__main:focus-visible){background:var(--color-red);border-color:var(--color-red);box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.card--confirmed:has(.card__main:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.card--confirmed:active{box-shadow:var(--shadow-card);transform:translateY(-1px)}.card__media{aspect-ratio:4/3;background:var(--color-placeholder-bg);position:relative}.card__media picture{width:100%;height:100%;display:block}.card__media img:not(.card__badge){object-fit:cover;width:100%;height:100%}.card__media-placeholder{z-index:2;text-align:center;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;color:var(--color-placeholder-text);justify-content:center;align-items:center;margin:0;padding:0 1.25rem;font-size:.95rem;display:flex;position:absolute;inset:0}.card__media:after{content:"";z-index:1;pointer-events:none;--media-tint:var(--color-blue);background:linear-gradient(180deg, transparent 48%, color-mix(in srgb, var(--media-tint) 60%, transparent) 78%, var(--media-tint) 100%);transition:--media-tint var(--transition-fast);position:absolute;inset:0}.card--confirmed:hover .card__media:after,.card--confirmed:has(.card__main:focus-visible) .card__media:after{--media-tint:var(--color-red)}.card__badge{z-index:2;object-fit:contain;background:#fff;border-radius:50%;width:96px;height:96px;padding:4px;position:absolute;top:14px;right:14px;box-shadow:0 2px 8px #0000004d}.card__body{text-align:center;flex-direction:column;flex:1;align-items:center;padding:1.5rem 1.5rem 1.75rem;display:flex}.card__body h2{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.01em;color:#fff;margin:0 0 .6rem;font-size:1.4rem;font-weight:400}.card__desc{color:#ffffffe0;margin:0 0 1.35rem;font-size:.95rem}.card__desc--muted{color:var(--color-placeholder-text)}.card__location{background:var(--color-red);color:#fff;width:100%;font:inherit;text-align:center;appearance:none;cursor:pointer;transition:filter var(--transition-fast);border:0;justify-content:center;align-items:center;gap:.45rem;margin:0;padding:.9rem 1.15rem;font-size:.85rem;font-weight:600;display:flex;box-shadow:inset 0 1px #ffffff2e}.card__location:hover,.card__location:focus-visible{filter:brightness(1.1)}.card__location:hover .pin-badge,.card__location:focus-visible .pin-badge{color:var(--color-yellow)}.pin-badge{color:var(--color-blue);transition:color var(--transition-fast);flex-shrink:0;display:inline-flex}.btn{font-family:var(--font-button);color:#000;background:var(--color-yellow);border-radius:var(--radius);cursor:pointer;transition:filter var(--transition-fast);border:none;margin-top:auto;padding:.65rem 1.3rem;font-size:.95rem;font-weight:500}.btn:hover{filter:brightness(.92)}.btn:active{filter:brightness(.85)}.card--placeholder{text-align:center;background:var(--color-placeholder-bg);color:var(--color-placeholder-text);box-shadow:none;border-style:dashed;justify-content:center;align-items:center;padding:3rem 1.75rem}.card__placeholder-icon{border:2px dashed var(--color-placeholder-text);width:44px;height:44px;font-family:var(--font-heading);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;font-size:1.4rem;display:flex}.card__coming-soon{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;color:var(--color-placeholder-text);margin:0 0 .4rem;font-size:1.1rem}.modal-overlay{z-index:50;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);background:#201a2ee0;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal-overlay.is-open{opacity:1;pointer-events:auto}.modal{background:var(--color-blue);color:#fff;border-radius:var(--radius);text-align:center;opacity:0;width:100%;max-width:380px;transition:opacity var(--transition-fast), transform var(--transition-fast);padding:1.75rem 1.5rem 1.5rem;position:relative;transform:translateY(8px)scale(.97);box-shadow:0 20px 50px #00000059}.modal-overlay.is-open .modal{opacity:1;transform:translateY(0)scale(1)}.modal h2{font-family:var(--font-heading);text-transform:uppercase;color:var(--color-red);margin:0 0 .6rem;font-size:1.3rem;font-weight:400}.modal p{color:#ffffffeb;margin:0}.modal__close{cursor:pointer;color:#fff;background:0 0;border:none;padding:.25rem;font-size:1.6rem;line-height:1;position:absolute;top:.5rem;right:.65rem}#menu-modal:has(.modal--menu){padding:.5rem}.modal--menu{flex-direction:column;align-self:stretch;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.modal--menu .modal__close{z-index:2;background:#201a2eb8;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.modal--menu #menu-modal-ready:not([hidden]){flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:flex}.modal__menu-viewport{touch-action:none;flex:auto;min-width:0;min-height:0;overflow:hidden}.modal__menu-viewport [data-menu-for]:not([hidden]){justify-content:center;align-items:center;width:100%;height:100%;display:flex}.modal__menu-viewport picture{display:contents}.modal__menu-viewport img{object-fit:contain;transform-origin:50%;user-select:none;-webkit-user-drag:none;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.modal--map{text-align:left;flex-direction:column;max-width:min(720px,100%);max-height:calc(100vh - 2rem);padding:2.35rem 1.25rem 1.25rem;display:flex;overflow:auto}.modal--map header{align-items:center;gap:.9rem;margin:0 0 .85rem;padding-right:1.75rem;display:flex}.modal--map .column.width-fit{flex:none}.modal--map .column.width-full{flex:auto;min-width:0}.modal--map h2{margin:0 0 .2rem}.modal__logo{object-fit:contain;background:#fff;border-radius:50%;width:72px;height:72px;padding:4px;display:block;box-shadow:0 2px 8px #0000004d}.modal__map-caption{margin:0;font-size:.95rem}.modal__map{aspect-ratio:4/3;border-radius:var(--radius);background:var(--color-placeholder-bg);min-height:12rem;max-height:55vh;overflow:hidden}.modal__map iframe{border:0;width:100%;height:100%;display:block}.modal__map-link{color:var(--color-yellow);margin-top:.9rem;font-size:.9rem;font-weight:600;display:inline-block}@keyframes intro-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.header-bar,.header-hero,.intro,.grid .card{animation:.55s ease-out both intro-in}.header-bar{animation-delay:0s}.header-hero{animation-delay:90ms}.intro{animation-delay:.18s}.grid .card{animation-delay:calc(.27s + var(--card-index,0) * 90ms)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
