:root{
  --bg:#fffdf7;--card:#ffffff;--ink:#201914;--muted:#6d625b;--line:#2b221c;--yellow:#ffd84d;--pink:#ff7fa8;--blue:#9edcf5;--red:#ff4d43;--font:'Zen Maru Gothic',system-ui,-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic','Noto Sans JP',sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.75}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}
.nav{position:sticky;top:0;z-index:30;background:rgba(255,253,247,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(32,25,20,.1)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}.nav-logo img{width:86px}.nav-links{display:flex;gap:22px;font-size:14px;font-weight:900}.nav-links a{text-decoration:none}
.hero{position:relative;overflow:hidden;min-height:980px;background:#dcedf5}.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,247,.76) 0%,rgba(255,253,247,.67) 28%,rgba(255,253,247,.38) 58%,rgba(255,253,247,.7) 100%),linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.0) 65%,rgba(255,253,247,.4) 100%)}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:48px;padding:110px 0 250px}.hero-brand{max-width:660px}.project{display:inline-block;background:#fff;border:2px solid var(--line);border-radius:999px;padding:6px 15px;font-size:12px;font-weight:900;margin:0 0 18px}.hero-logo{width:min(620px,100%);filter:drop-shadow(0 18px 24px rgba(0,0,0,.08))}.catch-copy{margin:24px 0 18px}.catch-copy p{margin:0 0 6px;font-size:clamp(30px,4.4vw,58px);line-height:1.18;font-weight:900;letter-spacing:.01em;text-shadow:0 3px 0 rgba(255,255,255,.85)}.catch-copy p:last-child{font-size:clamp(24px,3.2vw,40px);color:#1d1d1d}.hero-facts{display:flex;gap:9px;flex-wrap:wrap}.hero-facts span{background:#fff;border:2px solid var(--line);border-radius:999px;padding:9px 15px;font-size:14px;font-weight:900}.hero-facts span:first-child{background:#ffe36f}
.count-panel{justify-self:end;max-width:480px;width:100%;background:rgba(255,255,255,.88);border:3px solid var(--line);border-radius:50%;aspect-ratio:1/1;display:grid;place-items:center;text-align:center;padding:42px 40px;box-shadow:0 18px 0 rgba(32,25,20,.11)}.count-kicker{font-size:clamp(22px,2.2vw,32px);font-weight:900}.count-main{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:6px 0 4px;font-weight:900}.count-main span{font-size:clamp(36px,3.4vw,56px)}.count-main strong{font-size:clamp(140px,16vw,220px);line-height:.86;color:var(--red);letter-spacing:-.08em}.count-clock{display:flex;justify-content:center;align-items:baseline;gap:8px;margin:8px 0 6px}.count-clock span{font-size:clamp(34px,3.2vw,52px);font-weight:900}.count-clock small{font-size:14px;font-weight:900}.count-panel p{font-size:16px;font-weight:700;margin:0 0 16px}.insta{display:inline-block;text-decoration:none;background:var(--ink);color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;font-size:14px;transition:.2s}.insta:hover{transform:translateY(-3px)}
.hero-deco{position:absolute;z-index:3;pointer-events:none;filter:drop-shadow(0 10px 12px rgba(0,0,0,.16));transform-origin:bottom center;animation:bob 5.8s ease-in-out infinite}.deco-happi{width:110px;left:18px;bottom:24px}.deco-yellowbag{width:110px;left:152px;bottom:14px;animation-delay:.8s}.deco-singer{width:130px;left:50%;bottom:14px;transform:translateX(-50%);animation-delay:.2s}.deco-juggler{width:118px;right:160px;bottom:18px;animation-delay:.6s}.deco-mascot{width:100px;right:44px;bottom:44px;animation-delay:1s}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.section{padding:88px 0}.section-title>span,.mini-label{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--red)}.section-title h2,.info-card h2,.news-card h2{font-size:clamp(34px,4vw,58px);line-height:1.15;margin:6px 0 12px}.section-title p{margin:0;color:var(--muted)}.section-title.center{text-align:center;max-width:760px;margin:0 auto 34px}
.about{background:#fff}.about-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:64px}.about-copy{font-size:18px}.about-copy .lead{font-size:clamp(25px,3vw,38px);font-weight:900;line-height:1.5;margin-top:0}
.about-signature{margin-top:30px;font-weight:900;text-align:right}
.things{background:#fff8df}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.category{position:relative;min-height:272px;padding:28px 18px 24px;border-radius:42% 58% 50% 50%/52% 44% 56% 48%;display:flex;flex-direction:column;justify-content:center;text-align:center;color:#fff;box-shadow:0 10px 0 rgba(32,25,20,.12);transition:.24s;text-decoration:none}.category:nth-child(even){transform:translateY(14px) rotate(1deg)}.category:hover{transform:translateY(-6px) rotate(-1deg) scale(1.02)}.category:nth-child(even):hover{transform:translateY(8px) rotate(0) scale(1.02)}.category-art{height:100px;display:grid;place-items:center;margin-bottom:8px}.category-art img{max-width:120px;max-height:96px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.16))}.category h3{font-size:32px;line-height:1;margin:8px 0 12px}.category p{font-size:13px;font-weight:700;line-height:1.7;margin:0}.category .jump{display:inline-block;margin-top:13px;font-size:12px;font-weight:900;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.42);padding:6px 10px;border-radius:999px}
.area-section{scroll-margin-top:88px}.watch-section{background:#ffe7e5}.play-section{background:#eefbff}.eat-section{background:#fff}.walk-section{background:#f7fff3}.fun-section{background:#fff0f7}.content-grid{display:grid;gap:18px;margin-top:30px}.stage-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.stage-card,.info-tile{background:#fff;border:2px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 8px 0 rgba(32,25,20,.1);transition:.22s}.stage-card:hover,.info-tile:hover{transform:translateY(-6px)}.stage-media,.tile-media{width:100%;aspect-ratio:3/4;background:linear-gradient(180deg,#fff8c6,#fff);display:grid;place-items:center;padding:12px}.stage-media img,.tile-media img{width:100%;height:100%;object-fit:contain}.stage-body,.tile-body{padding:18px}.stage-body h3,.tile-body h3{font-size:24px;margin:0 0 6px}.stage-time,.tile-time{font-size:12px;font-weight:900;color:var(--red)}.stage-body p,.tile-body p{font-size:13px;margin:6px 0 0;color:var(--muted)}.tile-body ul{margin:12px 0 0;padding-left:1.25em;font-size:13px;color:var(--muted)}.tile-body li+li{margin-top:5px}.info-grid-cards{grid-template-columns:repeat(3,1fr)}
.program-panel{margin-top:30px;background:#fff;border:2px solid var(--line);border-radius:28px;padding:28px;box-shadow:8px 9px 0 rgba(32,25,20,.1)}.program-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border-bottom:2px solid var(--line);padding-bottom:18px}.program-heading h3{font-size:clamp(26px,3vw,40px);line-height:1.25;margin:5px 0 0}.program-heading>p{margin:0;font-weight:900;background:#ffe36f;border-radius:999px;padding:8px 14px;white-space:nowrap}.program-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.program-list li{display:grid;grid-template-columns:74px 1fr;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid #e6ddd6}.program-list time{font-size:20px;font-weight:900;color:var(--red)}.program-list strong{font-size:17px}.program-note{margin:16px 0 0;font-size:12px;color:var(--muted)}
.subsection-heading{margin-top:62px}.subsection-heading.compact{margin-top:54px}.subsection-heading h3{font-size:clamp(28px,3.5vw,46px);line-height:1.25;margin:5px 0 8px}.subsection-heading p{margin:0;color:var(--muted)}
.performer-grid{display:grid;gap:24px;margin-top:28px}.performer-card{display:grid;grid-template-columns:minmax(380px,.88fr) 1.12fr;background:#fff;border:2px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 8px 0 rgba(32,25,20,.1)}.performer-gallery{display:block;background:#fff}.performer-media{position:relative;display:block;width:100%;aspect-ratio:4/5;border:0;padding:0;overflow:hidden;background:#fff;cursor:zoom-in}.performer-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s}.performer-media:hover img{transform:scale(1.025)}.performer-media:focus-visible{outline:4px solid var(--yellow);outline-offset:-4px}.performer-body{padding:28px 30px}.performer-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.performer-meta span{background:#ffe36f;border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:11px;font-weight:900}.performer-meta time{font-size:12px;font-weight:900;color:var(--red)}.performer-body h3{font-size:clamp(25px,3vw,38px);line-height:1.3;margin:10px 0 13px}.performer-body p{margin:8px 0;color:var(--muted)}.performer-body .performer-intro{font-size:17px;font-weight:900;color:var(--ink)}.performer-body ul{margin:15px 0 0;padding-left:1.25em;color:var(--muted);font-size:14px}.performer-body li+li{margin-top:5px}
.vendor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.vendor-card{border:2px solid var(--line);background:#fff;border-radius:24px;overflow:hidden;transition:.24s;box-shadow:0 7px 0 rgba(32,25,20,.09)}.vendor-card:hover{transform:translateY(-7px);box-shadow:8px 10px 0 var(--line)}.vendor-visual{aspect-ratio:1/1;background:#ffe18a;overflow:hidden;cursor:zoom-in}.vendor-card.market .vendor-visual{background:linear-gradient(135deg,#b7efeb,#e6fffb);display:grid;place-items:center;font-size:56px;cursor:default}.vendor-visual img{width:100%;height:100%;object-fit:cover}.vendor-body{padding:16px 17px 19px}.vendor-type{font-size:11px;font-weight:900;color:var(--red)}.vendor-card.market .vendor-type{color:#168a84}.vendor-body h3{font-size:18px;line-height:1.4;margin:4px 0 7px}.vendor-body p{font-size:13px;color:var(--muted);margin:0}.vendor-links,.profile-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.vendor-links a,.profile-links a{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--line);border-radius:999px;background:#fff;padding:7px 12px;color:var(--ink);font-size:12px;font-weight:900;text-decoration:none;transition:.2s}.vendor-links a:hover,.profile-links a:hover{background:var(--yellow);transform:translateY(-2px)}.vendor-links a:focus-visible,.profile-links a:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.vendor-visual[data-image],.instagram-media[data-image]{cursor:zoom-in}
.info-section{background:#fffdf7}.info-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}.info-card,.news-card{border:2px solid var(--line);border-radius:30px;padding:30px;background:#fff;box-shadow:8px 9px 0 rgba(32,25,20,.1)}.info-card dl{display:grid;grid-template-columns:130px 1fr;margin:8px 0 0}.info-card dt,.info-card dd{padding:11px 0;border-bottom:1px solid #e6ddd6}.info-card dt{font-weight:900}.info-card dd{margin:0}.news-item{padding:13px 0;border-bottom:1px solid #e6ddd6}.news-item time{font-size:11px;font-weight:900;color:var(--red)}.news-item h3{font-size:17px;margin:2px 0}.news-item p{font-size:13px;color:var(--muted);margin:3px 0}.insta.dark{margin-top:22px}
footer{background:var(--ink);color:#fff;padding:42px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-inner img{width:140px;border-radius:18px}.footer-inner p{margin:8px 0 0;font-size:13px;color:#efe8e2}
.modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.88);display:none;place-items:center;padding:30px}.modal.open{display:grid}.modal img{max-width:min(900px,92vw);max-height:88vh;border-radius:18px;box-shadow:0 20px 80px rgba(0,0,0,.4)}.modal-close{position:absolute;right:24px;top:18px;border:0;background:#fff;color:#111;width:46px;height:46px;border-radius:50%;font-size:30px;cursor:pointer}
.reveal{opacity:1;transform:none}.reveal.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.reveal-ready.show{opacity:1;transform:none}
@media(max-width:1100px){.hero{min-height:900px}.hero-inner{grid-template-columns:1fr;gap:34px;padding-top:92px;padding-bottom:230px}.hero-brand{text-align:center;margin:auto}.hero-logo{margin:auto;width:min(560px,100%)}.hero-facts{justify-content:center}.count-panel{justify-self:center;max-width:420px}.deco-singer{left:auto;right:50%;transform:translateX(50%)}.category-grid{grid-template-columns:repeat(3,1fr)}.stage-grid{grid-template-columns:repeat(2,1fr)}.vendor-grid{grid-template-columns:repeat(3,1fr)}.info-grid-cards{grid-template-columns:repeat(2,1fr)}.about-grid,.info-grid{grid-template-columns:1fr}}
@media(max-width:760px){.nav-links{display:none}.wrap{width:min(100% - 24px,1120px)}.hero{min-height:900px}.hero-inner{padding:86px 0 210px}.project{font-size:10px}.hero-logo{width:min(460px,100%)}.catch-copy p{font-size:clamp(28px,7vw,44px)}.count-panel{max-width:360px;padding:32px}.count-kicker{font-size:21px}.count-main strong{font-size:130px}.count-main span{font-size:34px}.count-clock span{font-size:28px}.count-panel p{font-size:14px}.deco-happi{width:78px;left:10px}.deco-yellowbag{width:78px;left:102px}.deco-singer{width:98px}.deco-juggler{width:92px;right:112px}.deco-mascot{width:82px;right:18px}.section{padding:72px 0}.category-grid{grid-template-columns:1fr 1fr}.category{min-height:220px}.vendor-grid,.stage-grid,.info-grid-cards{grid-template-columns:1fr 1fr}.info-card,.news-card{padding:22px}.info-card dl{grid-template-columns:104px 1fr;font-size:14px}.footer-inner{display:block}.footer-inner>p{margin-top:20px}}
@media(max-width:480px){.hero{min-height:830px}.hero-inner{padding-bottom:180px}.hero-logo{width:min(380px,100%)}.count-panel{max-width:310px}.count-main strong{font-size:104px}.count-main span{font-size:28px}.count-clock span{font-size:24px}.deco-yellowbag,.deco-juggler{display:none}.deco-singer{width:88px;bottom:8px}.deco-mascot{width:70px}.section-title h2,.info-card h2,.news-card h2{font-size:36px}.category-grid,.vendor-grid,.stage-grid,.info-grid-cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-deco,.category,.vendor-card,.stage-card,.info-tile,.reveal{animation:none!important;transition:none!important;transform:none!important}.reveal,.reveal.reveal-ready{opacity:1!important}}


/* ===== v6 requested refinements ===== */
.nav-inner{height:76px;gap:18px}.nav-logo{flex:0 0 auto}.nav-links{gap:14px;font-size:13px;white-space:nowrap;overflow-x:auto;scrollbar-width:none;padding:4px 0}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex:0 0 auto;padding:7px 3px}

/* Hero: background + title + countdown only */
.hero{min-height:900px}.hero-inner{padding:92px 0 110px;grid-template-columns:1.08fr .92fr}.hero-brand{max-width:700px}.hero-logo{width:min(680px,100%)}
.hero-deco,.catch-copy{display:none!important}
.count-panel{max-width:510px}.count-main strong{font-size:clamp(150px,17vw,232px)}

/* About catchcopy moved from hero */
.about-catch{margin:0 0 34px;padding:22px 28px;border-radius:26px;background:#fff2a8;border:2px solid var(--line);box-shadow:7px 8px 0 rgba(32,25,20,.09)}
.about-catch p{margin:0;font-size:clamp(25px,3vw,40px);font-weight:900;line-height:1.35}
.about-catch p+p{margin-top:7px;font-size:clamp(21px,2.4vw,31px)}

/* Category navigation: closer to circles, larger type, whole circle remains clickable */
.category-grid{gap:18px;align-items:start}.category{aspect-ratio:1/1;min-height:0;border-radius:50%;padding:24px 20px;justify-content:center}.category:nth-child(even){transform:translateY(10px)}.category:hover{transform:translateY(-5px) scale(1.025)}.category:nth-child(even):hover{transform:translateY(5px) scale(1.025)}
.category-art{height:112px;margin-bottom:6px}.category-art img{width:112px;height:112px;max-width:none;max-height:none;object-fit:contain}.category h3{font-size:clamp(30px,2.5vw,40px);margin:5px 0 10px}.category p{font-size:clamp(14px,1.15vw,17px);line-height:1.55}.category .jump{display:none!important}

/* All five content-area media are fixed 1:1 */
.stage-media,.tile-media,.vendor-visual{aspect-ratio:1/1!important}.stage-media img,.tile-media img{object-fit:contain}.vendor-visual img{object-fit:cover}

@media(max-width:1100px){.nav-inner{height:72px}.nav-links{display:flex}.hero{min-height:auto}.hero-inner{padding:72px 0 88px}.count-panel{max-width:440px}.category-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.nav-inner{height:66px}.nav-links{display:flex;gap:12px;font-size:12px;max-width:calc(100vw - 118px)}.nav-logo img{width:82px}.hero-inner{padding:62px 0 72px}.hero-logo{width:min(520px,100%)}.category-grid{grid-template-columns:1fr 1fr}.category{padding:20px 15px}.category-art{height:94px}.category-art img{width:94px;height:94px}.category p{font-size:14px}}
@media(max-width:480px){.nav-links{max-width:calc(100vw - 98px);gap:10px}.nav-logo img{width:70px}.hero-logo{width:min(410px,100%)}.category-grid{grid-template-columns:1fr 1fr;gap:12px}.category{padding:15px 11px}.category-art{height:78px}.category-art img{width:78px;height:78px}.category h3{font-size:27px}.category p{font-size:12px}.about-catch{padding:18px 20px}}


/* ===== v7 access / category / media / instagram refinements ===== */
/* Category navigation: illustration + title only, precise circles */
.things .section-title.center{margin-bottom:46px}
.category-grid{gap:22px;align-items:center}
.category{aspect-ratio:1/1;border-radius:50%;min-height:0;padding:22px;justify-content:center;overflow:hidden}
.category:nth-child(even){transform:none}
.category:nth-child(even):hover{transform:translateY(-5px) scale(1.025)}
.category-art{height:118px;margin:0 0 8px;display:grid;place-items:center}
.category-art img{width:118px;height:118px;object-fit:contain}
.category h3{font-size:clamp(34px,3vw,46px);line-height:1.05;margin:8px 0 0;white-space:nowrap}
.category p{display:none!important}

/* All content media use a fixed square viewport. Source aspect ratio never changes the card height. */
.stage-media,.tile-media,.vendor-visual{width:100%;aspect-ratio:1/1!important;height:auto;overflow:hidden;padding:0;background:#fff6c9}
.stage-media img,.tile-media img,.vendor-visual img{width:100%;height:100%;object-fit:cover!important;object-position:center center}
.info-tile,.stage-card,.vendor-card{display:flex;flex-direction:column;height:100%}
.stage-body,.tile-body,.vendor-body{flex:1}
.content-grid,.vendor-grid{align-items:stretch}

/* Instagram */
.instagram-section{background:#fff8f3;scroll-margin-top:88px}
.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.instagram-card,.instagram-empty{background:#fff;border:2px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 8px 0 rgba(32,25,20,.09)}
.instagram-media{aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,#ffebf4,#fff5cf)}
.instagram-media img{width:100%;height:100%;object-fit:cover}
.instagram-placeholder{width:100%;height:100%;display:grid;place-items:center;font-weight:900;font-size:28px;color:#d24f8b}
.instagram-body{padding:18px}.instagram-body time{font-size:11px;font-weight:900;color:var(--red)}.instagram-body h3{font-size:20px;margin:3px 0 7px}.instagram-body p{font-size:13px;color:var(--muted);margin:0 0 10px}.instagram-body a{font-size:13px;font-weight:900;text-decoration:none}
.instagram-empty{grid-column:1/-1;padding:32px;text-align:center}.instagram-empty strong{font-size:24px}.instagram-empty p{margin:8px auto 0;color:var(--muted);max-width:620px}
.instagram-cta{text-align:center;margin-top:24px}.instagram-cta p{font-size:12px;color:var(--muted);margin:10px 0 0}

/* Access */
.access-section{background:#eef8ff;scroll-margin-top:88px}
.access-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;margin-top:30px;align-items:stretch}
.map-card,.access-card{background:#fff;border:2px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 8px 0 rgba(32,25,20,.09)}
.map-card iframe{display:block;width:100%;height:100%;min-height:500px;border:0}
.access-card{padding:28px}.access-card h3{font-size:28px;margin:0}.access-card .address{margin:5px 0 18px;color:var(--muted)}.access-card dl{display:grid;grid-template-columns:74px 1fr;margin:0}.access-card dt,.access-card dd{padding:12px 0;border-bottom:1px solid #e6ddd6}.access-card dt{font-weight:900}.access-card dd{margin:0}.map-link{display:inline-block;margin-top:20px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;text-decoration:none;font-weight:900;font-size:13px}
.traffic-notice{margin-top:28px;background:#fff2a8;border:2px solid var(--line);border-radius:22px;padding:18px 22px;box-shadow:6px 7px 0 rgba(32,25,20,.08)}.traffic-notice strong{display:block;font-size:18px}.traffic-notice p{margin:5px 0 0}.venue-map-card{margin-top:28px;background:#fff;border:2px solid var(--line);border-radius:28px;padding:28px;box-shadow:8px 9px 0 rgba(32,25,20,.09)}.venue-map-copy{max-width:760px;margin-bottom:20px}.venue-map-copy h3{font-size:clamp(26px,3vw,40px);line-height:1.25;margin:5px 0 8px}.venue-map-copy p{margin:0;color:var(--muted)}.venue-map-card>a{display:block;border:2px solid #e6ddd6;border-radius:18px;overflow:hidden;background:#fff}.venue-map-card img{width:100%;height:auto}.venue-map-note{font-size:12px;color:var(--muted);margin:10px 0 0;text-align:center}

@media(max-width:980px){.access-grid{grid-template-columns:1fr}.map-card iframe{min-height:420px}.instagram-grid{grid-template-columns:repeat(2,1fr)}.performer-card{grid-template-columns:1fr}.performer-gallery{min-height:0}}
@media(max-width:760px){.category-grid{gap:12px}.category{padding:14px}.category-art{height:84px}.category-art img{width:84px;height:84px}.category h3{font-size:30px}.instagram-grid{grid-template-columns:1fr 1fr}.map-card iframe{min-height:360px}.program-list{grid-template-columns:1fr}.program-heading{align-items:flex-start;flex-direction:column}.program-panel,.venue-map-card{padding:22px}.traffic-notice{padding:16px 18px}.subsection-heading{margin-top:50px}.performer-body{padding:24px}.performer-body .performer-intro{font-size:16px}}
@media(max-width:480px){.category-grid{grid-template-columns:1fr 1fr}.category-art{height:76px}.category-art img{width:76px;height:76px}.category h3{font-size:27px}.instagram-grid{grid-template-columns:1fr}.map-card iframe{min-height:320px}.access-card{padding:22px}.access-card dl{grid-template-columns:64px 1fr;font-size:14px}.program-list li{grid-template-columns:64px 1fr;gap:8px}.program-list time{font-size:17px}.program-list strong{font-size:15px}.traffic-notice strong{font-size:16px}.venue-map-card{padding:18px}.performer-body{padding:21px 18px}.performer-meta{align-items:flex-start;flex-direction:column;gap:8px}.performer-body h3{font-size:25px}}

/* ===== v8 mobile hero fix ===== */
@media(max-width:760px){
  .hero{
    min-height:0!important;
    background:#fffaf1;
    overflow:hidden;
    padding:0 0 28px;
  }
  .hero-scene{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .hero-overlay{display:none!important}
  .hero-inner{
    width:min(100% - 24px,560px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:22px!important;
    padding:24px 0 0!important;
  }
  .hero-brand{
    width:100%!important;
    max-width:none!important;
    text-align:center!important;
  }
  .project{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0 auto 14px!important;
    padding:5px 10px!important;
    font-size:10px!important;
    line-height:1.4!important;
    white-space:nowrap!important;
  }
  .hero-logo{
    width:min(82vw,360px)!important;
    margin:0 auto 16px!important;
  }
  .hero-facts{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:min(100%,360px)!important;
    margin:0 auto!important;
  }
  .hero-facts span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:42px!important;
    padding:7px 8px!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  .count-panel{
    width:min(100%,360px)!important;
    max-width:360px!important;
    aspect-ratio:auto!important;
    justify-self:auto!important;
    margin:0 auto!important;
    display:block!important;
    border-radius:30px!important;
    padding:24px 18px 22px!important;
    box-shadow:0 8px 0 rgba(32,25,20,.1)!important;
    transform:none!important;
  }
  .count-kicker{
    display:block!important;
    font-size:18px!important;
    line-height:1.3!important;
    margin-bottom:4px!important;
  }
  .count-main{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:baseline!important;
    justify-content:center!important;
    gap:8px!important;
    margin:4px 0 8px!important;
  }
  .count-main span{
    font-size:28px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .count-main strong{
    font-size:112px!important;
    line-height:.88!important;
    letter-spacing:-.07em!important;
  }
  .count-clock{
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    align-items:baseline!important;
    gap:5px!important;
    margin:4px 0 10px!important;
  }
  .count-clock span{font-size:25px!important}
  .count-clock small{font-size:10px!important}
  .count-panel p{
    font-size:12px!important;
    line-height:1.5!important;
    margin:0 0 14px!important;
  }
  .count-panel .insta{
    padding:10px 14px!important;
    font-size:12px!important;
  }
}

@media(max-width:390px){
  .project{font-size:9px!important}
  .hero-logo{width:min(84vw,320px)!important}
  .hero-facts{width:100%!important}
  .hero-facts span{font-size:11px!important;min-height:40px!important}
  .count-panel{width:100%!important;padding:22px 14px 20px!important}
  .count-main strong{font-size:98px!important}
  .count-main span{font-size:25px!important}
  .count-clock span{font-size:22px!important}
}

/* v11 image-only update: sarumawashi gallery */
.stage-media.stage-gallery{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;padding:4px!important;aspect-ratio:1/1!important;background:#fff6c9!important}
.stage-image{appearance:none;border:0;background:transparent;padding:0;margin:0;min-width:0;width:100%;height:100%;overflow:hidden;cursor:zoom-in}
.stage-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}

/* 2026-09-13 content update */
.tile-type{display:inline-block;margin:0 0 7px;padding:4px 10px;border-radius:999px;background:#1f9ed4;color:#fff;font-size:11px;font-weight:900}
.vendor-type{display:inline-block;padding:4px 9px;border-radius:999px;background:#fff0d0;border:1px solid rgba(32,25,20,.12)}
.eat-section .vendor-card .vendor-type{background:#fff0c9;color:#a55a00}


/* ===== 2026-09-13 lively layout + countdown fix ===== */
/* Countdown: separate prefix / number / unit so the large number never crowds the labels. */
.count-main{
  display:grid!important;
  grid-template-columns:max-content max-content max-content!important;
  align-items:end!important;
  justify-content:center!important;
  column-gap:20px!important;
  margin:10px 0 16px!important;
  font-weight:900;
}
.count-main .count-prefix,.count-main .count-unit{
  display:block;
  font-size:clamp(34px,3.2vw,50px)!important;
  line-height:1!important;
  white-space:nowrap!important;
  padding-bottom:.16em;
}
.count-main strong{
  display:block;
  font-size:clamp(138px,15vw,210px)!important;
  line-height:.78!important;
  letter-spacing:-.035em!important;
  color:var(--red);
  font-variant-numeric:tabular-nums;
}
.count-clock{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:min(100%,340px)!important;
  margin:6px auto 16px!important;
  align-items:end!important;
}
.count-clock-item{display:flex;align-items:baseline;justify-content:center;gap:6px;white-space:nowrap}
.count-clock-item span{font-size:clamp(28px,2.8vw,42px)!important;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}
.count-clock-item small{font-size:12px!important;font-weight:900;line-height:1}

/* Livelier section presentation. */
.area-section .section-title{max-width:920px}
.area-section .section-title>span{font-size:14px;letter-spacing:.18em}
.area-section .section-title h2{font-size:clamp(48px,6vw,76px);margin:4px 0 10px;font-weight:900;letter-spacing:.015em}
.area-section .section-title p{
  font-size:clamp(17px,1.7vw,22px)!important;
  line-height:1.7!important;
  font-weight:700!important;
  color:var(--ink)!important;
  max-width:900px;
}
.watch-section .section-title h2{color:#ff3f3f}
.play-section .section-title h2{color:#188fc6}
.eat-section .section-title h2{color:#dc8300}
.walk-section .section-title h2{color:#42a62b}
.fun-section .section-title h2{color:#d64491}

/* Keep content image boxes visually consistent regardless of source image proportions. */
.stage-media,.tile-media{aspect-ratio:1/1!important;padding:0!important;overflow:hidden!important;background:#fff7cd!important}
.stage-media img,.tile-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.stage-image{width:100%;height:100%}
.stage-image img{object-fit:cover!important}
.stage-body p,.tile-body p{font-size:15px!important;line-height:1.75!important;color:#4f463f!important}
.stage-body h3,.tile-body h3{font-size:27px!important}
.stage-time,.tile-time{font-size:14px!important}

@media(max-width:760px){
  .count-main{column-gap:14px!important;margin:8px 0 14px!important}
  .count-main .count-prefix,.count-main .count-unit{font-size:27px!important;padding-bottom:.1em}
  .count-main strong{font-size:104px!important;letter-spacing:-.025em!important}
  .count-clock{gap:8px!important;width:min(100%,300px)!important;margin:4px auto 14px!important}
  .count-clock-item{gap:4px}
  .count-clock-item span{font-size:25px!important}
  .count-clock-item small{font-size:10px!important}
  .area-section .section-title h2{font-size:48px!important}
  .area-section .section-title p{font-size:17px!important;line-height:1.65!important}
}
@media(max-width:390px){
  .count-main{column-gap:10px!important}
  .count-main .count-prefix,.count-main .count-unit{font-size:24px!important}
  .count-main strong{font-size:92px!important}
  .count-clock{gap:5px!important}
  .count-clock-item span{font-size:22px!important}
  .count-clock-item small{font-size:9px!important}
}
