.ne-single,.ne-listings{color:#242832;line-height:1.65}
.ne-single{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:clamp(24px,4vw,48px) 20px}
.ne-single h1{margin:0 0 24px;color:#242832;overflow-wrap:anywhere}
.ne-event-header{max-width:880px;margin:0 auto 32px}
.ne-single h2,.ne-listings h2,.ne-listings h3{color:#242832;line-height:1.3}
.ne-meta{font-weight:600;overflow-wrap:anywhere}
.ne-daily-note{font-size:.95em}
.ne-daily-schedule{list-style:none;margin:16px 0;padding:0}
.ne-featured{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;margin:32px auto}
.ne-content{max-width:880px;margin:32px auto}
.ne-content h2{margin-top:2em}
.ne-content img{max-width:100%;height:auto}
.ne-section{margin:0 0 56px}
.ne-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:28px}
.ne-card{border:1px solid #24283226;border-radius:8px;overflow:hidden;background:#fff}
.ne-card-image{display:block;width:100%;height:240px;object-fit:cover}
.ne-card-body{padding:24px}
.ne-card h3{margin:0 0 16px;font-size:1.4em;overflow-wrap:anywhere}
.ne-card h3 a{color:inherit}
.ne-single .ne-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ne-single .ne-gallery>a{display:block;position:relative;aspect-ratio:3 / 4;min-width:0;border-radius:8px;overflow:hidden}
.ne-single .ne-gallery>a>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ne-gallery a:focus-visible,.ne-card a:focus-visible{outline:3px solid #242832;outline-offset:4px}
.ne-participation{max-width:880px;margin:40px auto}
.ne-participation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
.ne-participation-option{padding:24px;border:1px solid #24283226;border-radius:8px;overflow-wrap:anywhere}
.ne-participation-option h3{margin:0 0 16px;color:#242832;line-height:1.35}
.ne-participation-option .ne-price{font-size:1.6em;font-weight:700;margin:0 0 12px}
.ne-option-description{margin:0}
.ne-inquiry{margin-top:24px}
.ne-inquiry a{max-width:100%;box-sizing:border-box;white-space:normal;text-align:center}
@media(max-width:921px){.ne-single .ne-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:544px){.ne-single .ne-gallery{grid-template-columns:minmax(0,1fr)}}

.ne-subtitle{font-size:1.1em;line-height:1.5;margin:0 0 24px;overflow-wrap:anywhere}
