:root{--navy:#5e1a30;--gold:#c6a35f;--cream:#faf4ee;--ink:#3a2430;--serif:Prata,Georgia,serif;--sans:Jost,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);font:300 17px/1.7 var(--sans);color:var(--ink)}a{color:inherit}.events-nav{min-height:92px;background:#4a1526;display:flex;align-items:center;gap:28px;padding:20px max(5vw,20px);color:var(--cream)}.events-nav a{text-decoration:none;font-size:13px;letter-spacing:.08em}.events-nav .logo{font:20px var(--serif);letter-spacing:.15em;text-transform:uppercase;margin-right:auto}.logo span{color:var(--gold)}.event-wrap{max-width:1120px;margin:auto;padding:65px 5vw 110px}.eyebrow{color:#a58348;text-transform:uppercase;font-weight:500;letter-spacing:.25em;font-size:12px}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--navy);line-height:1.25}h1{font-size:clamp(36px,5vw,62px);margin:15px 0}h2{font-size:30px;margin:0 0 24px}h3{font-size:22px}.event-intro{text-align:center;max-width:700px;margin:auto}.event-intro p{margin:20px 0 0}.filter-nav{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:45px 0 65px}.filter-nav a{border:1px solid #c6a35f;text-decoration:none;padding:9px 18px;font-size:13px;color:var(--navy)}.filter-nav .selected,.filter-nav a:hover{background:var(--navy);border-color:var(--navy);color:var(--cream)}.event-list{margin-top:62px}.event-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.event-card{display:block;text-decoration:none;background:white;border:1px solid #eaded2}.event-card:hover .event-visit{text-decoration:underline}.event-card-image{height:220px;overflow:hidden}.event-card-image img{width:100%;height:100%;object-fit:cover}.photo-pending{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#5e1a30,#793c4d);color:#ddc28c;font:19px var(--serif)}.event-card-body{padding:25px}.event-card-body h3{margin:12px 0}.event-date{font-size:14px}.event-visit{font-size:14px;font-weight:500;color:var(--navy)}.event-empty{color:#796672;font-style:italic}.city-footer{margin-top:55px;padding:25px;border-top:1px solid #ddc28c}.city-footer a{text-decoration:none}.back-link{font-size:14px;color:var(--navy);text-decoration:none}.detail-head{margin:45px 0 35px;max-width:900px}.detail-date{color:#735564}.event-wrap>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.detail-text{max-width:740px;margin:36px 0 65px}.detail-text h2{font-size:25px;margin:34px 0 10px}.detail-text p{margin:14px 0}.btn{display:inline-block;padding:14px 30px;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.14em;font-weight:500}.btn-gold{background:var(--gold);color:#4a1526}.event-photo-gallery{margin-top:55px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.photo-button{border:0;cursor:pointer;background:transparent;padding:0;aspect-ratio:4/3;overflow:hidden}.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-button:hover img{transform:scale(1.05)}.photo-button:focus-visible{outline:3px solid var(--gold)}.photo-lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(22,7,14,.96);align-items:center;justify-content:center;padding:70px}.photo-lightbox.open{display:flex}.photo-lightbox img{max-width:100%;max-height:100%;object-fit:contain}.photo-lightbox button{position:absolute;color:white;background:transparent;border:0;font-size:45px;cursor:pointer;padding:12px}.lightbox-close{right:20px;top:8px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-count{position:absolute;bottom:18px;color:white;font-size:13px}footer{background:#4a1526;color:var(--cream);padding:28px 5vw;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}footer a{text-decoration:none}@media(max-width:800px){.event-card-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr 1fr}.events-nav{gap:14px}.events-nav .logo{font-size:14px}}@media(max-width:540px){.event-card-grid{grid-template-columns:1fr}.events-nav>a:not(.logo){font-size:11px}.event-wrap{padding-top:44px}.photo-lightbox{padding:65px 12px}.photo-grid{gap:8px}}
