@charset "UTF-8";
:root{--paper:#faf7ef;--white:#fffdf8;--ink:#302e26;--muted:#686457;--orange:#aa4028;--orange-dark:#87311e;--line:#ded9cd;--yellow:#e7bb58;--green:#42604b;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.8;font-size:15px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default}h1,h2,h3,p,figure{margin:0}h2,h3{line-height:1.55}button,a,summary{outline-offset:5px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--green)}[hidden]{display:none!important}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.site-header{height:90px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);background:rgba(250,247,239,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:14px;line-height:1.5;letter-spacing:.07em}.brand-mark{width:43px;height:43px;display:grid;place-items:center;color:var(--white);background:var(--orange);font-family:var(--serif);font-size:27px;border-radius:50%}.brand-sub{display:block;font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:500}.desktop-nav{display:flex;gap:31px;font-size:13px;font-weight:600}.desktop-nav a{padding:15px 0;position:relative}.desktop-nav a:hover{color:var(--orange)}.header-plan{border:1px solid var(--line);border-radius:6px;background:transparent;padding:9px 15px;display:flex;align-items:center;gap:8px;font-size:12px}.bookmark-icon{font-size:21px;line-height:1}.save-count{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:50%;background:var(--orange);color:white;font:600 10px var(--sans)}.skip-link{position:fixed;top:-80px;left:10px;padding:12px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:10px}
.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:38px;padding-top:42px;padding-bottom:46px;align-items:center}.hero-copy{padding:6px 0}.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.14em;font-weight:600}.edition{border:1px solid var(--orange);color:var(--orange);padding:1px 9px;border-radius:3px;font-size:12px;letter-spacing:.05em}.hero-kicker{font-family:var(--serif);font-size:18px;letter-spacing:.16em;margin-top:30px;font-weight:600}h1{font-family:var(--serif);font-size:clamp(45px,5.1vw,70px);letter-spacing:.02em;line-height:1.38;font-weight:900;margin-top:9px;white-space:nowrap}h1 span{color:var(--orange)}h1 small{display:block;font:500 17px var(--sans);letter-spacing:.38em;margin-top:3px}.hero-description{margin-top:24px;color:var(--muted);font-size:13px;line-height:2.1}.hero-date{display:flex;gap:24px;align-items:center;margin-top:20px}.date-numbers{font-family:Georgia,serif;font-size:70px;line-height:1.2;letter-spacing:-.045em}.date-dot{color:var(--orange)}.date-aside{display:grid;gap:2px}.date-aside b{font-size:11px;letter-spacing:.05em}.date-aside strong{font-family:Georgia,serif;font-size:23px;letter-spacing:.04em;font-weight:400}.hero-location{font-size:14px;font-weight:600;line-height:1.7;margin:16px 0 25px}.hero-location>span{font-size:23px;vertical-align:middle;color:var(--orange);margin-right:5px}.hero-location small{display:block;font-size:12px;margin-left:27px;font-weight:400;color:var(--muted)}.button{border-radius:4px;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font-size:13px;font-weight:700;line-height:1.65;min-height:49px;transition:background .18s,transform .18s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.primary{background:var(--orange);color:white}.primary:hover{background:var(--orange-dark)}.button>span[aria-hidden]{font-size:21px;line-height:1}.outline{border-color:var(--line);background:transparent}.outline:hover{background:#eee9df}.hero-note{font-size:11px;color:var(--muted);margin-top:10px}.hero-art{height:574px;position:relative;border-radius:160px 6px 6px 6px;overflow:hidden;background:#e6c38b;isolation:isolate}.art-scene{position:absolute;inset:0;background-image:url('./assets/festival.webp');background-size:auto 250%;background-position:50% 51%}.hero-art:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(56,32,9,.48));z-index:-0;pointer-events:none}.art-tag{position:absolute;top:46px;right:26px;display:flex;flex-direction:row-reverse;gap:6px}.art-tag span{writing-mode:vertical-rl;background:var(--paper);color:#4b351f;padding:15px 7px;font-family:var(--serif);font-weight:bold;letter-spacing:.18em;font-size:17px;box-shadow:0 2px 10px #49350e12}.art-tag span+span{margin-top:25px}.hero-art figcaption{position:absolute;bottom:12px;left:18px;right:18px;color:white;font-size:9px;z-index:2;text-shadow:0 1px 4px #302e26}.info-strip{border-block:1px solid var(--line)}.strip-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:17px;font-size:11px}.strip-inner p{display:flex;gap:14px;align-items:center}.strip-inner a{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.status{display:inline-flex;align-items:center;border-radius:3px;font-size:10px;padding:2px 7px;line-height:1.6;white-space:nowrap;font-weight:500;letter-spacing:.03em;vertical-align:middle}.confirmed{color:#36543d;background:#e6ebe1}.pending{color:#795820;background:#f6ecd4}.about{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-block:70px 80px}.section-index{display:block;color:var(--orange);font:600 10px var(--sans);letter-spacing:.19em;margin-bottom:17px}.about h2{font-family:var(--serif);font-size:27px;line-height:1.9;letter-spacing:.05em}.about-text{padding-top:28px;font-size:13px;color:var(--muted);line-height:2.15}.about-text p+p{margin-top:10px}.about-text .organizer{font-size:11px;margin-top:20px;color:var(--ink)}
.program-section{padding:72px 0 84px;background:#efede4;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}.section-heading h2{font-family:var(--serif);font-size:32px;letter-spacing:.05em}.section-heading>p{font-size:12px;color:var(--muted);line-height:1.9}.feature-card{display:grid;grid-template-columns:1fr 1.08fr;background:var(--white);min-height:340px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.calligraphy-art{position:relative;display:grid;place-items:center;overflow:hidden;background:#d9ae54;color:#242921;min-height:350px;background-image:radial-gradient(circle at 90% 10%,#eed495 0,transparent 60%),repeating-linear-gradient(90deg,#ffffff09 0px,#ffffff09 1px,transparent 1px,transparent 5px)}.calligraphy-character{font-family:var(--serif);font-size:244px;line-height:1;transform:rotate(-8deg);font-weight:900;position:relative}.calligraphy-art:before{content:"";position:absolute;border:1px solid #8b682b55;border-radius:50%;height:360px;width:360px;right:-50px;bottom:-70px}.art-mini{position:absolute;top:25px;right:22px;writing-mode:vertical-rl;letter-spacing:.22em;font-family:var(--serif);font-size:13px;z-index:1}.art-seal{position:absolute;bottom:60px;left:42px;border:2px solid #a94029;color:#a94029;padding:3px;writing-mode:vertical-rl;font-family:var(--serif);font-size:16px;line-height:1.2;transform:rotate(6deg)}.art-caption{position:absolute;bottom:20px;left:26px;font-size:9px;letter-spacing:.18em}.feature-copy{padding:35px 42px}.feature-eyebrow{font-size:11px;color:var(--orange);letter-spacing:.1em}.feature-copy h3{font-family:var(--serif);font-size:31px;letter-spacing:.1em;margin:12px 0;line-height:1.7}.feature-name{font-size:14px;font-weight:700;margin-bottom:8px}.feature-copy>p:not(.feature-name){font-size:12px;color:var(--muted);max-width:330px;line-height:1.9}.feature-meta{display:flex;gap:10px;align-items:center;margin:17px 0;font-size:10px;color:var(--muted)}.text-link{font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;border-bottom:1px solid currentColor;padding-block:6px}.text-link:hover{color:var(--orange)}.program-layout{display:grid;grid-template-columns:1fr 290px;gap:44px;margin-top:55px;align-items:start}.subheading{display:flex;justify-content:space-between;align-items:center;gap:12px}.subheading h3{font-size:20px}.subheading>span{font-size:10px;color:var(--muted);letter-spacing:.08em}.schedule-note{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.9;margin:15px 0 20px;color:var(--muted)}.schedule-note>span{font-size:21px;line-height:1.1}.schedule-note strong{color:var(--ink);font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:21px}.filters button{border:1px solid #c9c5b9;background:transparent;font-size:11px;padding:9px 15px;min-height:43px;border-radius:30px}.filters button[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}.filters button:hover{border-color:var(--orange)}.timeline{position:relative}.time-bound{display:flex;align-items:center;gap:25px;padding:16px 0;position:relative}.time-bound time{font:500 23px Georgia,serif;min-width:67px}.time-bound>div{display:flex;gap:14px;align-items:center}.time-bound b{font-size:12px}.time-bound.end{margin-top:10px}.unscheduled{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:7px 0 11px;border-top:1px solid #d0ccbf;padding-top:17px}.unscheduled span{font-size:11px;font-weight:600;color:var(--muted)}.unscheduled small{font-size:10px;color:var(--muted)}.schedule-row{display:flex;align-items:center;border:1px solid var(--line);border-radius:5px;background:var(--white);margin-bottom:8px;transition:border-color .15s}.schedule-row:hover{border-color:#aaa28f}.schedule-link{display:flex;gap:14px;align-items:center;padding:17px 16px;flex:1;min-width:0}.program-icon{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#f1e3c4;color:#795c25;font-size:18px;flex-shrink:0;font-family:var(--serif)}.program-icon.stage{background:#f2dfd5;color:#964330}.program-icon.experience{background:#e2e8db;color:#466043}.schedule-title{display:block;font-weight:700;font-size:13px}.schedule-subtitle{display:block;font-size:10px;color:var(--muted);margin-top:2px;line-height:1.6}.row-arrow{font-size:18px;color:var(--muted);margin-left:auto;padding-left:8px}.save-button{border:1px solid #d7d1c4;background:transparent;border-radius:50%;height:42px;min-width:42px;margin-right:13px;display:grid;place-items:center;font-size:23px;line-height:1;font-family:var(--sans)}.save-button[aria-pressed="true"]{background:#f8e5dc;color:var(--orange);border-color:#dbb6a6}.save-button:hover{border-color:var(--orange)}.plan-aside{padding:28px 23px;background:#e5e6d9;border:1px solid #d0d3bf;border-radius:6px;margin-top:57px}.aside-icon{font-size:34px;color:var(--green);line-height:1}.plan-aside h3{font-family:var(--serif);font-size:22px;line-height:1.7;margin:13px 0}.plan-aside>p{font-size:12px;color:#5c6353;margin-bottom:20px}.plan-aside .button{width:100%;font-size:12px;padding:11px;gap:12px;border-color:#b7bfaa}.aside-note{display:block;font-size:10px;line-height:1.8;color:#5c6353;margin-top:12px}.calendar-link{display:block;font-size:11px;border-top:1px solid #c4c9b5;margin-top:25px;padding-top:20px;font-weight:600}.calendar-link:hover{text-decoration:underline}.calendar-link>span{font-size:16px;margin-right:4px}.details-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:55px 0 22px}.details-heading h3{font-size:20px}.details-heading>p{font-size:11px;color:var(--muted)}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.program-detail{background:var(--white);border:1px solid var(--line);border-radius:5px;scroll-margin-top:110px}.program-detail:target{border-color:var(--orange)}.program-detail summary{padding:22px;list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;min-height:103px}.program-detail summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.detail-category{font-size:9px;letter-spacing:.1em;color:var(--orange);display:block;margin-bottom:4px}.detail-name{display:block;font-size:15px;font-weight:700}.summary-plus{margin-left:auto;font-size:24px;color:#857e6b;font-weight:400}.program-detail[open] .summary-plus{transform:rotate(45deg)}.detail-content{border-top:1px solid var(--line);padding:22px;font-size:12px;color:var(--muted);line-height:2}.detail-content>p{margin-bottom:15px}.detail-content strong{color:var(--ink)}.detail-data{margin:0 0 17px;display:grid;gap:8px}.detail-data>div{display:grid;grid-template-columns:65px 1fr;gap:12px}.detail-data dt{color:var(--ink);font-weight:700}.detail-data dd{margin:0}.detail-data .status{margin-right:6px}.detail-candidates{padding:14px 15px;background:#f3f0e7;border-radius:4px;margin-bottom:15px}.detail-candidates h4{margin:0 0 7px;color:var(--ink);font-size:11px}.detail-candidates ul{margin:0;padding-left:17px;font-size:11px}.detail-candidates small{display:block;margin-top:8px;font-size:10px}.detail-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:16px}.detail-save{background:transparent;border:1px solid #c8c1b3;border-radius:4px;min-height:44px;padding:7px 12px;font-size:11px;display:flex;align-items:center;gap:6px}.detail-save[aria-pressed="true"]{color:var(--orange);border-color:#cc8c77;background:#fff1ea}.detail-footer>a{font-size:10px;text-decoration:underline;text-underline-offset:4px}.notice{padding:20px;background:var(--white)}
.visit-section{padding:75px 0 0}.visit-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:48px}.venue-card{position:relative;background:#e9e6d9;padding:35px 32px;isolation:isolate;border-radius:6px;overflow:hidden}.venue-label{font-size:10px;letter-spacing:.16em;color:var(--muted)}.venue-card h3{font-family:var(--serif);font-size:24px;margin:14px 0 5px;line-height:1.8}.venue-card h3 strong{font-size:35px;letter-spacing:.14em}.venue-card>p{font-size:12px}.venue-day{display:grid;gap:3px;margin:25px 0 27px;font-size:12px}.venue-day b{font:400 24px Georgia,serif;letter-spacing:.08em}.venue-card .button{padding:13px 15px;font-size:12px;gap:13px}.venue-card .venue-note{font-size:10px;color:var(--muted);margin-top:13px;max-width:340px;line-height:1.8}.venue-decoration{font-family:var(--serif);font-size:230px;color:#dfdac8;position:absolute;right:-40px;bottom:-30px;z-index:-1;line-height:1.2;transform:rotate(-12deg)}.information-status{scroll-margin-top:110px}.information-status h3{font-size:20px;margin:0 0 13px}.info-table{margin:0}.info-table>div{display:grid;grid-template-columns:128px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:16px 0}.info-table dt{font-size:12px;font-weight:600;padding-top:3px}.info-table dd{margin:0;display:flex;align-items:flex-start;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}.faq{margin-top:50px;border-top:1px solid var(--line);padding-top:30px}.faq>h3{font-size:19px;margin-bottom:15px}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-size:13px;font-weight:600;cursor:pointer}.faq summary span{color:var(--muted)}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;color:var(--muted);padding:0 30px 22px 0;max-width:790px;line-height:2}.closing{text-align:center;padding:85px 0}.closing>p{font-family:var(--serif);font-size:26px;letter-spacing:.09em;line-height:1.9}.closing .text-link{margin-top:25px;color:var(--orange)}.site-footer{background:#343b32;color:#f5f2e7;padding:38px 0}.footer-inner{display:flex;justify-content:space-between;gap:50px}.footer-title{font-family:var(--serif);font-size:22px;letter-spacing:.08em}.footer-title small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:0;margin-top:11px;color:#cdd1c4}.footer-note{font-size:10px;color:#cdd1c4;max-width:450px}.footer-note>span{border:1px solid #7b8977;border-radius:3px;padding:3px 7px;color:#e5eadf;font-size:9px}.footer-note>p{margin-top:11px;line-height:1.8}.source-note{margin-top:13px}.source-note summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.source-note p{padding-top:10px;line-height:1.9}.mobile-nav{display:none}
dialog{width:min(560px,calc(100% - 28px));max-height:86dvh;margin:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:30px;color:var(--ink);box-shadow:0 15px 80px #0003}dialog::backdrop{background:#22291fc0;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:start;gap:12px}.dialog-header .section-index{margin-bottom:8px}.dialog-header h2{font-family:var(--serif);font-size:24px}.close-dialog{font-size:30px;line-height:1;width:42px;height:42px;border:1px solid var(--line);background:none;border-radius:50%;flex-shrink:0}.dialog-intro{font-size:12px;color:var(--muted);margin:16px 0 25px}.plan-item{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:15px 0}.plan-item>a{flex:1;font-size:13px;font-weight:700}.plan-item>a span{display:block;font-size:10px;color:var(--muted);font-weight:400}.plan-item button{background:none;border:1px solid var(--line);border-radius:4px;padding:9px 10px;font-size:10px;min-height:42px}.empty-plan{border:1px dashed #c9bfad;padding:29px 20px;text-align:center;font-size:12px;color:var(--muted);border-radius:6px}.empty-plan strong{display:block;color:var(--ink);font-size:14px;margin-bottom:7px}.empty-plan button{margin-top:18px}.dialog-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:24px}.dialog-actions .button{width:100%;font-size:12px}.text-button{background:none;border:0;text-decoration:underline;text-underline-offset:4px;font-size:11px;min-height:40px}.storage-note{font-size:10px;color:var(--muted);margin-top:20px;text-align:center}.clear-confirm{background:#f8e5dc!important;color:var(--orange);padding-inline:12px;border-radius:4px}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,15px);opacity:0;background:#303b2f;color:white;padding:12px 20px;z-index:60;font-size:12px;border-radius:6px;box-shadow:0 4px 20px #0002;transition:opacity .2s,transform .2s;pointer-events:none;max-width:calc(100% - 28px);text-align:center;width:max-content}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1450px){.hero-art{height:600px}.hero{gap:65px}.hero-copy{padding-block:25px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.site-header{padding-inline:28px}.desktop-nav{gap:18px;font-size:11px}.hero{gap:25px}.hero-art{height:545px}.hero-kicker{font-size:16px}h1{font-size:52px}.hero-description{font-size:12px}.hero-copy .button{font-size:12px;padding-inline:16px;gap:12px}.hero-date{gap:17px}.date-numbers{font-size:63px}.date-aside strong{font-size:21px}.about{gap:36px}.about h2{font-size:24px}.program-layout{grid-template-columns:1fr 260px;gap:25px}.feature-copy{padding:28px}.feature-name{font-size:12px}.feature-copy h3{font-size:28px}.details-heading{display:block}.details-heading>p{margin-top:6px}.visit-grid{gap:28px}.info-table>div{grid-template-columns:107px 1fr}}
@media(max-width:760px){html{scroll-padding-top:82px}.wrap{width:calc(100% - 40px)}.site-header{height:72px;padding-inline:20px;gap:12px}.brand{font-size:12px;gap:9px}.brand-mark{width:35px;height:35px;font-size:23px}.brand-sub{font-size:9px}.desktop-nav{display:none}.header-plan{font-size:10px;padding:7px 9px;gap:6px}.header-plan .bookmark-icon{font-size:18px}.header-plan .save-count{min-width:17px;height:17px;font-size:9px}.hero{grid-template-columns:1fr;gap:27px;padding-top:27px;padding-bottom:26px}.hero-copy{padding:0}.eyebrow{font-size:9px;gap:10px;letter-spacing:.11em}.hero-kicker{margin-top:24px;font-size:16px;letter-spacing:.08em}h1{font-size:clamp(43px,11.7vw,70px);letter-spacing:.015em;margin-top:7px}h1 small{font-size:15px;letter-spacing:.35em;margin-top:5px}.hero-description{margin-top:17px;font-size:12px;line-height:2}.hero-date{margin-top:17px;gap:21px}.date-numbers{font-size:66px}.date-aside b{font-size:11px}.date-aside strong{font-size:22px}.hero-location{margin:10px 0 21px;font-size:13px}.hero-location small{font-size:11px}.hero-copy>.button{width:100%;justify-content:space-between;font-size:13px;padding:15px 19px}.hero-note{font-size:10px;text-align:center}.hero-art{height:330px;border-radius:90px 5px 5px 5px}.art-scene{background-size:auto 275%;background-position:50% 51%}.art-tag{top:28px;right:18px}.art-tag span{font-size:14px;padding:12px 6px}.hero-art figcaption{font-size:8px;left:12px;bottom:9px}.strip-inner{display:block;padding-block:15px;font-size:10px}.strip-inner p{gap:10px}.strip-inner>a{display:inline-block;margin-top:8px;margin-left:0}.about{grid-template-columns:1fr;gap:17px;padding-block:43px 47px}.section-index{font-size:9px;margin-bottom:13px}.about h2{font-size:23px;line-height:1.8}.about-text{padding-top:0;font-size:12px;line-height:2.1}.about-text .organizer{font-size:10px;margin-top:18px}.program-section{padding:45px 0 48px}.section-heading{display:block;margin-bottom:24px}.section-heading h2{font-size:26px}.section-heading>p{font-size:11px;margin-top:13px}.section-heading>p br{display:none}.feature-card{grid-template-columns:1fr}.calligraphy-art{min-height:228px}.calligraphy-character{font-size:205px}.art-mini{font-size:11px;top:18px;right:20px}.art-seal{bottom:40px;left:35px;font-size:13px}.art-caption{font-size:8px;left:18px;bottom:14px}.feature-copy{padding:24px}.feature-copy h3{font-size:28px;line-height:1.6;margin:10px 0 16px}.feature-copy h3 br{display:none}.feature-name{font-size:13px}.feature-copy>p:not(.feature-name){font-size:12px;max-width:none}.feature-meta{margin:15px 0;font-size:10px;gap:8px;flex-wrap:wrap}.program-layout{grid-template-columns:1fr;gap:25px;margin-top:36px}.subheading h3{font-size:18px}.subheading>span{font-size:9px}.schedule-note{font-size:11px;margin-top:13px}.filters{gap:6px;margin-bottom:10px}.filters button{font-size:10px;padding:8px 12px}.time-bound{gap:19px;padding-block:16px}.time-bound time{font-size:23px;min-width:60px}.unscheduled{margin-top:5px;padding-top:15px;display:block}.unscheduled small{display:block;font-size:9px;margin-top:3px}.schedule-link{padding:14px 10px;gap:10px}.program-icon{width:33px;height:33px;font-size:16px}.schedule-title{font-size:12px}.schedule-subtitle{font-size:9px}.save-button{min-width:40px;height:40px;margin-right:9px;font-size:22px}.row-arrow{font-size:15px;padding-left:3px}.plan-aside{margin-top:0;padding:23px}.plan-aside h3{font-size:22px;margin-top:8px}.plan-aside h3 br{display:none}.plan-aside .aside-icon{float:right}.plan-aside>p{font-size:12px}.plan-aside .aside-note br{display:none}.calendar-link{margin-top:20px;padding-top:17px}.details-heading{margin:36px 0 18px}.details-heading h3{font-size:18px}.details-heading>p{font-size:10px}.details-grid{grid-template-columns:1fr;gap:10px}.program-detail summary{padding:18px;min-height:90px;gap:13px}.detail-name{font-size:14px}.detail-content{padding:18px}.program-detail{scroll-margin-top:86px}.visit-section{padding-top:44px}.visit-grid{grid-template-columns:1fr;gap:29px}.venue-card{padding:27px 24px}.venue-card h3{font-size:23px}.venue-card h3 strong{font-size:32px}.venue-card .button{width:100%;font-size:11px;justify-content:space-between}.information-status h3{font-size:18px}.info-table>div{grid-template-columns:112px 1fr;gap:10px}.info-table dt{font-size:11px}.info-table dd{font-size:11px}.faq{margin-top:30px;padding-top:25px}.faq>h3{font-size:18px}.faq summary{font-size:12px;line-height:1.9;gap:12px;padding-block:16px}.faq details p{font-size:11px;padding-right:10px}.closing{padding:47px 0}.closing>p{font-size:19px;letter-spacing:.03em;line-height:2}.closing .text-link{font-size:11px;margin-top:18px}.site-footer{padding:30px 0 100px}.footer-inner{display:block}.footer-title{font-size:21px}.footer-note{margin-top:27px}.footer-note>p{font-size:9px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(250,247,239,.98);border-top:1px solid #d4cdbd;z-index:30;box-shadow:0 -3px 15px #47392408;backdrop-filter:blur(12px)}.mobile-nav>a,.mobile-nav>button{width:33.333%;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1.4;font-size:10px;font-weight:600;border:0;background:none;gap:3px}.mobile-nav>a+a,.mobile-nav>button{border-left:1px solid var(--line);margin-block:10px}.mobile-nav>a>span,.mobile-nav>button>span{font-size:23px;line-height:1;height:23px;font-weight:400;position:relative}.mobile-nav .save-count{position:absolute;top:-4px;right:-20px;min-width:16px;height:16px;font-size:8px}.mobile-nav>a:first-child{color:var(--orange)}#toast{bottom:calc(79px + env(safe-area-inset-bottom));font-size:11px;padding:11px 15px}dialog{padding:23px 20px;max-height:82dvh}.dialog-header h2{font-size:22px}.dialog-intro{font-size:11px}.dialog-actions .button{font-size:11px}.storage-note{font-size:9px}}
@media(max-width:365px){.wrap{width:calc(100% - 32px)}.site-header{padding-inline:16px}.header-plan>span:nth-child(2){display:none}.hero-kicker{font-size:14px}.hero-description{font-size:11px}.filters button{padding-inline:10px;font-size:9px}.hero-location{font-size:12px}.feature-name{font-size:11px}.feature-copy{padding:21px}.info-table>div{grid-template-columns:100px 1fr}.detail-footer{gap:9px}.detail-save{font-size:10px}.detail-footer>a{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}
@media print{.site-header,.mobile-nav,.plan-aside,.save-button,.detail-save,.dialog-actions,.hero-art,.source-note,#toast{display:none!important}body{background:white;color:black;font-size:11px}.wrap{width:100%}.hero,.about,.visit-grid{display:block;padding:20px 0}.program-layout{display:block}.program-section,.visit-section{padding:20px 0;background:white}.feature-card{break-inside:avoid}.site-footer{background:white;color:black;padding:20px 0}.footer-note{color:black}.program-detail{break-inside:avoid}.details-grid{display:block}.program-detail{margin-bottom:10px}.hero h1{font-size:40px}}

/* Flyer lettering and the supplied calligraphy photo. */
.timetable-section{padding:72px 0 66px;border-top:1px solid var(--line);scroll-margin-top:100px}
.timetable-section .section-index{font-size:14px}
.timetable-section .section-heading>p{font-size:16px}
.timetable-notice{display:flex;align-items:flex-start;gap:12px;border-left:3px solid var(--orange);background:#f4e9d9;padding:16px 18px;font-size:16px}
.timetable-notice .status{font-size:14px;flex-shrink:0;margin-top:2px}
.timetable-help{font-size:14px;color:var(--muted);margin:18px 0}
.timetable-board{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--white)}
.timetable-columns,.timetable-row{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);gap:20px;padding:18px 24px}
.timetable-columns{align-items:center;background:#343b32;color:var(--white);font-size:14px;line-height:1.6}
.timetable-columns b{display:block;font-size:18px}
.timetable-list{list-style:none;margin:0;padding:0}
.timetable-row{border-bottom:1px solid var(--line);align-items:start}
.timetable-row:nth-child(even){background:#f7f4ed}
.tt-start{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.4;padding-top:12px;color:var(--ink)}
.tt-lane{display:grid;gap:12px;min-width:0}
.tt-card{display:block;position:relative;border:1px solid #d7b49c;border-left:4px solid var(--orange);background:#fffaf2;border-radius:4px;padding:14px 16px;min-width:0;overflow-wrap:anywhere}
.tt-card.other{border-color:#bac8b5;border-left-color:var(--green);background:#f3f6ee}
a.tt-card:hover{box-shadow:0 3px 12px #47392412;border-color:var(--orange)}
.tt-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;font-size:14px;line-height:1.6;margin-bottom:6px}
.tt-category{color:var(--orange);font-weight:600}
.other .tt-category{color:var(--green)}
.tt-duration{font-variant-numeric:tabular-nums;color:var(--muted)}
.tt-title{display:block;font-size:17px;font-weight:700;line-height:1.7}
.tt-venue{display:block;font-size:14px;color:var(--muted);margin-top:5px}
.tt-detail{display:block;text-align:right;font-size:14px;margin-top:7px;color:var(--orange)}
.other .tt-detail{color:var(--green)}
.timetable-end{display:flex;gap:20px;align-items:center;padding:22px 24px;background:#e8e9dc}
.timetable-end time{width:100px;flex-shrink:0;font-size:22px;line-height:1.4;font-weight:700;font-variant-numeric:tabular-nums}
.timetable-end strong{font-size:16px}
.timetable-footnote{display:flex;justify-content:space-between;gap:12px 30px;margin-top:18px;font-size:14px;color:var(--muted)}
.timetable-footnote p:first-child{max-width:740px}
.timetable-footnote p:last-child{flex-shrink:0}
.timetable-empty{padding:24px;font-size:16px}
.program-times{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.program-times li{display:flex;flex-wrap:wrap;gap:4px 16px;line-height:1.7}
.program-slot-time{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}
.program-time-note{display:block;font-size:14px;margin-top:7px}
.schedule-note a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.timetable-footnote{display:block}.timetable-footnote p+p{margin-top:8px}.timetable-columns,.timetable-row{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr);gap:14px;padding-inline:18px}.timetable-end{padding-inline:18px;gap:14px}.timetable-end time{width:76px}}
@media(max-width:760px){
  .timetable-section{padding:45px 0;scroll-margin-top:82px}
  .timetable-notice{padding:14px;gap:9px}
  .timetable-board{overflow:visible;border-radius:6px}
  .timetable-columns{display:none}
  .timetable-row{grid-template-columns:64px minmax(0,1fr);gap:12px 10px;padding:16px 12px}
  .tt-start{grid-column:1;grid-row:1;font-size:20px;padding-top:10px}
  .tt-lane{grid-column:2}
  .tt-lane:empty{display:none}
  .tt-card{padding:12px}
  .tt-card-top{display:block;font-size:14px}
  .tt-duration{display:block;margin-top:3px}
  .tt-title{font-size:16px}
  .timetable-end{padding:18px 12px;gap:10px}
  .timetable-end time{width:64px;font-size:20px}
  .mobile-nav>a,.mobile-nav>button{width:25%}
  .mobile-nav .save-count{right:-15px}
}
@media print{.timetable-section{padding:20px 0}.tt-card{break-inside:avoid}.tt-detail,.timetable-help{display:none}}
.event-title-art{margin-top:14px;white-space:normal;line-height:1}
.title-lettering{display:block;width:100%;max-width:500px;height:auto;margin-left:-10px}
.event-title-art small{margin-top:10px}
.calligraphy-photo{display:flex;flex-direction:column;justify-content:center;background:#e8e2d5;min-width:0}
.calligraphy-photo img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:contain}
.calligraphy-photo figcaption{padding:11px 17px;font-size:10px;line-height:1.7;color:var(--muted)}
.feature-schedule{display:flex;flex-wrap:wrap;gap:13px 24px;margin:20px 0 10px;border-top:1px solid var(--line);padding-top:14px}
.feature-schedule>div{display:flex;align-items:baseline;gap:9px}
.feature-schedule dt{font-size:10px;color:var(--muted)}
.feature-schedule dd{margin:0;font-size:17px;font-weight:700;letter-spacing:.01em}
.feature-copy>p.approximate-note{font-size:10px;line-height:1.8;margin-bottom:13px;max-width:none}
.has-start-time{background:#fffaf0;border-color:#c4b18a}
.row-time{flex-shrink:0;font-family:Georgia,var(--serif);font-size:20px;line-height:1.35;color:var(--orange);min-width:80px}
.row-time small{display:block;font-family:var(--sans);font-size:9px;color:var(--muted);margin-top:4px}
.detail-photo{display:block;width:100%;height:auto;border-radius:3px;margin-bottom:19px;aspect-ratio:4 / 3;object-fit:contain}

/* Photos and descriptions supplied by the event's reference LP. */
.program-detail[open],.program-detail:first-child{grid-column:1 / -1}
.detail-content{font-size:16px;line-height:1.9}
.detail-name{font-size:17px}
.detail-category{font-size:12px}
.detail-figure{margin:0 0 22px}
.detail-figure .detail-photo{max-height:480px;aspect-ratio:auto;margin:0;background:#f1eee7}
.detail-figure .illustration{height:210px;object-fit:contain;background:transparent}
.detail-figure figcaption{margin-top:8px;font-size:14px}
.program-gallery{display:grid;gap:20px;margin:24px 0 28px}
.program-gallery.artists,.program-gallery.work{grid-template-columns:repeat(3,minmax(0,1fr))}
.program-gallery.market{grid-template-columns:repeat(2,minmax(0,1fr))}
.program-gallery.teams{grid-template-columns:repeat(2,minmax(0,1fr))}
.teams .gallery-card>img{height:360px;aspect-ratio:auto;object-fit:contain}
.team-gallery-pair{grid-column:1 / -1}
.gallery-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 16px 0}
.gallery-photos figure{min-width:0;margin:0}
.gallery-photos img{display:block;width:100%;height:360px;object-fit:contain;background:#efede8}
.gallery-photos figcaption{font-size:14px;line-height:1.6;margin-top:8px;color:var(--muted)}
.gallery-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.gallery-card>img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:contain;display:block;background:#efede8}
.market .gallery-card>img{aspect-ratio:4 / 3;object-fit:cover;object-position:center 40%}
.market .gallery-card>img.full-photo{object-fit:contain;object-position:center}
.work .gallery-card>img{aspect-ratio:1;object-fit:contain;object-position:center}
.gallery-copy{padding:18px}
.gallery-copy h4{font-size:24px;color:var(--ink);line-height:1.45;margin:6px 0 12px}
.gallery-copy p{font-size:16px;line-height:1.85;margin:12px 0 0;white-space:pre-line}
.artist-label{font-size:12px;letter-spacing:.055em;font-weight:700;color:var(--muted)}
.artist-tag{display:inline-block;border:1px solid #c98d70;border-radius:3px;color:var(--orange);padding:2px 8px;font-size:14px}
.gallery-heading{font-size:18px;color:var(--ink);margin:24px 0 0}
.detail-data{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.detail-data>div{grid-template-columns:80px 1fr}
.detail-candidates h4{font-size:15px}
.detail-candidates ul{font-size:16px;display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.detail-candidates li{padding:5px 12px;background:var(--white);border:1px solid var(--line);border-radius:4px}
.registration-notice{border-left:4px solid var(--orange);background:#f7eee0;padding:15px 18px;color:var(--ink)}
.detail-footer{font-size:14px;flex-wrap:wrap;gap:16px}
@media(max-width:680px){
  .program-gallery.artists,.program-gallery.market,.program-gallery.work,.program-gallery.teams{grid-template-columns:1fr;gap:18px}
  .teams .gallery-card>img{height:auto;max-height:440px;aspect-ratio:auto}
  .gallery-photos{grid-template-columns:1fr;padding:12px 12px 0}
  .gallery-photos img{height:auto;max-height:440px;object-fit:contain}
  .gallery-card>img{max-height:330px}
  .work .gallery-card>img{aspect-ratio:4 / 3;object-fit:contain}
  .gallery-copy{padding:18px}
  .gallery-copy h4{font-size:23px}
  .detail-content{padding:18px}
  .detail-data>div{grid-template-columns:70px 1fr;gap:10px}
}
@media(max-width:760px){.event-title-art{margin-top:10px}.title-lettering{max-width:480px;margin-left:-5px;width:calc(100% + 5px)}.event-title-art small{font-size:14px;margin-top:5px}.calligraphy-photo figcaption{font-size:9px;padding:9px 14px}.feature-schedule{margin-top:17px;gap:8px 18px}.feature-schedule dd{font-size:16px}.row-time{font-size:18px;min-width:67px}.has-start-time .schedule-title{font-size:11px}.has-start-time .schedule-subtitle{font-size:9px}.has-start-time .row-arrow{display:none}}

/* Vendor photos preserve the complete supplied artwork. */
.market .team-gallery-pair{grid-column:auto}
.market .gallery-photos{grid-template-columns:1fr}
.market .gallery-photos img{height:auto;max-height:360px}
.market .gallery-card>img.full-photo{aspect-ratio:auto;max-height:440px}

/* Temporary construction mark. Remove with the construction-notice block. */
.construction-notice{width:min(100%,340px);margin:20px 0 24px;padding:16px 22px;border:3px solid var(--orange);border-radius:50%;text-align:center;color:var(--orange-dark);background:var(--paper)}
.construction-notice strong{display:block;font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:.18em;line-height:1.4;padding-left:.18em}
.construction-notice p{font-size:14px;line-height:1.7;margin:4px 0 0}
@media(max-width:680px){.construction-notice{max-width:300px;padding:14px 18px;margin:16px 0 20px}}

/* Access and parking guide */
.parking-map{margin-top:36px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:110px}
.parking-map h3{font-size:24px;margin-bottom:12px}
.parking-map p{font-size:16px;line-height:1.8;margin-bottom:18px}
.parking-map figure{margin:0 0 20px}
.parking-map figure a{display:block}
.parking-map img{display:block;width:100%;height:auto;border:1px solid var(--line);background:white}
.parking-map figcaption{font-size:14px;line-height:1.8;color:var(--muted);margin-top:10px}
.visit-inline-link{text-decoration:underline;text-underline-offset:4px}
#information-status .info-table dt,#information-status .info-table dd{font-size:16px;line-height:1.9}
#information-status .info-table dd{min-width:0;overflow-wrap:anywhere}
@media(max-width:680px){#information-status .info-table>div{grid-template-columns:1fr;gap:6px}.parking-map h3{font-size:22px}.parking-map .button{width:100%;font-size:14px;padding-inline:12px}}
