/* v4: one fixed backdrop; illustration backgrounds no longer repeat waffles. */
body{background:#ffd4ab;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:#ffd4ab var(--nishi-waffle-image) center/cover no-repeat}
.page-content{max-width:1160px;margin:0 auto;background:var(--cream);padding:30px 0 50px}
.story-art{width:100%;margin:0 auto 36px}
.hero-masthead{position:absolute;inset:0 0 auto;z-index:4;min-height:7.5%;background:#633a25;color:#fff8e6;display:flex;justify-content:space-between;align-items:center;padding:10px 5%;gap:20px}
.hero-masthead p{font-size:clamp(15px,1.75vw,27px);font-weight:900;letter-spacing:.04em}
.hero-masthead nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:800}
.hero-masthead a{display:grid;min-height:44px;align-items:center;text-decoration:none;white-space:nowrap}
.hero-hit--about,.hero-hit--playnav,.hero-hit--accessnav{display:none}
.section{padding:52px 26px}
.illustrated-panel{border-image-source:var(--nishi-cream-frame-v4-image);border-image-repeat:stretch;border-width:48px;border-image-width:78px;padding:0 18px 24px}
.quests-section .illustrated-panel,.map-section .illustrated-panel{border:0;border-image:none;padding:0 34px 30px}
.quest-toggle{max-width:780px}
.quest-panel{background:#f8e8c155}
.maps{gap:28px}
.map-card>img{border-radius:10px;border:2px solid #d8b171}
.information-grid{display:block;max-width:940px;margin:22px auto 0}
.information-grid .section{display:block;padding:40px 24px}
.information-grid .illustrated-panel{display:block;position:relative;padding:26px 45px 20px;border-width:40px;border-image-width:85px}
.information-grid .chocolate-heading{width:370px;max-width:90%;font-size:27px;margin:-85px auto 8px;left:0}
.event-facts{padding:0;margin:0 auto;max-width:620px}
.event-facts>div,.event-facts>div:first-child,.event-facts>div:last-child{grid-template-columns:120px 1fr;gap:22px;padding:10px 0}
.event-facts dt{font-size:18px;border-right:2px dotted #c4945e;padding:1px 20px 1px 0}
.event-facts dd,.event-facts dd strong{font-size:20px;color:var(--ink)}
.access-panel{padding:0}
.venue-name{font-size:25px}.address{font-size:15px;margin:3px 0 18px}
.access-panel .button{max-width:530px;font-size:18px;min-height:56px;padding:10px 20px}
.google-map{margin:22px auto 0;width:calc(100% - 80px);max-width:800px;overflow:hidden;border:2px solid #e5c78f;border-radius:14px;background:#f1e5ce}
.google-map iframe{display:block;border:0;width:100%;height:350px}
.notices-section{padding-top:50px;padding-bottom:10px}
.notice-original{display:grid;grid-template-columns:125px minmax(0,1fr);align-items:center;gap:25px;max-width:1000px;margin:auto;background:#fef1e1;border-style:solid;border-width:14px 9px 7px 7px;border-image:var(--nishi-notices-frame-image) 35 24 17 17 / 14px 9px 7px 7px stretch;padding:30px 28px 30px 18px;color:#673d3f}
.notice-original h2{margin:0}.notice-original h2 img{width:125px;mix-blend-mode:normal}
.notice-copy{font-size:14px;line-height:1.9;font-weight:700}.notice-copy p+p{margin-top:9px}
.site-footer{margin-top:0}
@media(max-width:1000px) and (min-width:768px){.hero-masthead{padding:5px 3%;gap:10px}.hero-masthead nav{gap:14px;font-size:11px}.hero-masthead p{font-size:15px}.information-grid .illustrated-panel{padding-inline:25px}.information-grid .chocolate-heading{font-size:27px}.quest-toggle{padding-inline:45px}}
@media(max-width:767px){
 .page-content{width:calc(100% - 24px);max-width:620px;padding:18px 0 48px}
 .hero-masthead{min-height:9%;padding:6px 12px 2px;display:block;text-align:center}
 .hero-masthead p{font-size:clamp(12px,3.5vw,20px);line-height:1.8}
 .hero-masthead nav{justify-content:center;gap:22px;font-size:10px;line-height:1.3}.hero-masthead a{min-height:28px}
 .story-art{margin:0 auto 22px}.story-art #howto{top:40%}
 .section{padding:34px 8px}
 .quests-section .illustrated-panel,.map-section .illustrated-panel{padding:0 6px 20px}
 .chocolate-heading{width:100%;max-width:360px;left:0;font-size:22px}
 .quest-toolbar{margin:20px 0 8px;width:100%}
 .quest-toggle{padding:19px 30px;gap:9px;min-height:110px;width:100%}
 .quest-label{min-width:0;font-size:18px;gap:1px 6px}.quest-label small{font-size:10px}.quest-index{width:34px;height:34px}
 .quest-plus{width:26px;height:26px}
 .quest-panel{padding:24px 4px;margin:0 0 22px}
 .quest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .quest-caption{font-size:11px;line-height:1.6;margin-top:7px}.quest-no{margin-right:5px}
 .maps{margin:25px 0 0;gap:32px}
 .map-card>img{border-width:1px;border-radius:7px}
 .information-grid{margin:15px auto 0;max-width:620px}
 .information-grid .section{padding:32px 0}
 .information-grid .illustrated-panel{padding:20px 9px 14px;border-width:20px;border-image-width:46px}
 .information-grid .chocolate-heading{max-width:90%;width:250px;font-size:20px;margin:-53px auto 4px;left:0}
 .event-facts{padding:0 4px}
 .event-facts>div,.event-facts>div:first-child,.event-facts>div:last-child{grid-template-columns:66px 1fr;gap:13px;padding:7px 0}
 .event-facts dt{font-size:13px;padding:1px 9px 1px 0}.event-facts dd,.event-facts dd strong{font-size:14px;letter-spacing:-.025em}
 .venue-name{font-size:19px;line-height:1.6}.address{font-size:11px;margin:2px -5px 12px;line-height:1.8}
 .access-panel .button{font-size:12px;min-height:45px;padding:8px 9px;gap:10px}
 .google-map{margin:18px auto 0;width:calc(100% - 30px);border-radius:10px}.google-map iframe{height:290px}
 .notices-section{padding:24px 13px 0}
 .notice-original{display:block;border-width:10px 6px 5px 5px;border-image-width:10px 6px 5px 5px;padding:15px 15px 22px}
 .notice-original h2 img{width:95px;margin:0 auto 15px}
 .notice-copy{font-size:12px;line-height:1.95}.notice-copy p+p{margin-top:12px}
 .site-footer{margin-top:0}
}
@media(min-width:400px) and (max-width:767px){.quest-toggle{padding-inline:38px}}

