:root{--coral:#ff5a4f;--navy:#062b49;--blue:#25b8ee;--sky:#c9f4ff;--yellow:#ffdd35;--paper:#fff;--soft:#f3f7fa;--line:#d9e2e8;--muted:#65798a;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:var(--paper);font-family:"Zen Kaku Gothic New",sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.brand-logo{display:block;width:166px;max-width:100%;height:auto;max-height:50px;object-fit:contain;object-position:left center}.site-header .brand-logo{width:166px;height:auto}.article-header-logo{display:block;width:166px;max-width:100%;height:auto;max-height:50px;object-fit:contain;object-position:left center}.footer-logo{width:190px;height:auto;max-height:70px;padding:7px 10px;border-radius:10px;background:#fff;object-fit:contain}
.site-nav-links{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:900}.site-nav-links a:hover{color:var(--coral)}
.site-footer-common{padding:38px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr auto;gap:18px;background:var(--navy);color:#fff}.site-footer-common p{margin:4px 0;color:#b9cad8}.site-footer-common nav{display:flex;flex-wrap:wrap;align-items:center;gap:22px;font-size:12px;font-weight:700}.site-footer-common small{grid-column:1/-1;color:#849caf}
.media-16x9{display:block;aspect-ratio:16/9;overflow:hidden;background:#dce7ed}.media-16x9 img{display:block;width:100%;height:100%;object-fit:cover}
.media-16x9 iframe{display:block;width:100%;height:100%;border:0}
.sub-header{position:sticky;z-index:20;top:0;height:76px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#fff}.sub-header>a:first-child{display:block;min-width:0;max-width:42%;flex:0 1 166px}.sub-header nav{display:flex;gap:22px;font-size:12px;font-weight:900}
.page-main{max-width:var(--max);margin:auto;padding:68px 24px 110px}.page-kicker{margin:0 0 10px;color:var(--coral);font:800 12px Manrope,sans-serif;letter-spacing:.08em}.page-title{max-width:900px;margin:0;font-size:clamp(38px,6vw,68px);line-height:1.2;letter-spacing:-.055em}.page-lead{max-width:720px;margin:24px 0 52px;color:#344d62;font-size:17px;line-height:1.9}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.story-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.story-card:hover{border-color:var(--coral)}.story-card .media-16x9{width:100%}.story-card-body{padding:18px}.story-card small{color:var(--coral);font-weight:900}.story-card h2,.story-card h3{margin:8px 0 10px;font-size:21px;line-height:1.45}.story-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.story-card time{display:block;margin-top:14px;color:#8796a2;font:700 11px Manrope,sans-serif}
.filter-panel{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:18px;margin:0 0 34px;padding:22px;border:2px solid var(--navy);background:#fff}.filter-panel label{display:grid;gap:7px;font-size:12px;font-weight:900}.filter-panel input,.filter-panel select{min-height:46px;border:1px solid #aebbc5;border-radius:5px;padding:10px 12px;background:#fff;color:var(--navy);font:700 15px inherit}.filter-chips{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.filter-chip{min-height:44px;border:1px solid var(--navy);border-radius:999px;padding:0 15px;background:#fff;color:var(--navy);font-weight:900;cursor:pointer}.filter-chip[aria-pressed="true"]{background:var(--navy);color:#fff}.result-status{margin:0 0 18px;color:var(--muted);font-size:13px}
.band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.band-card{padding:22px;border:1px solid var(--line);background:#fff}.band-card small{color:var(--coral);font-weight:900}.band-card h2{margin:8px 0 6px;font-size:24px}.band-card p{margin:0;color:var(--muted);line-height:1.7}.band-card a{display:inline-block;margin-top:15px;font-size:13px;font-weight:900;border-bottom:2px solid var(--yellow)}.empty-state{grid-column:1/-1;padding:42px;text-align:center;background:var(--soft)}
.venue-directory-page .page-title{font-size:clamp(38px,5vw,58px);white-space:nowrap}.venue-result-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:18px}.venue-result-heading .result-status{margin:0;font-weight:700}.venue-data-note{max-width:520px;margin:0;color:var(--muted);font-size:12px;line-height:1.6;text-align:right}.venue-directory{display:grid;gap:12px}.prefecture-group{border-bottom:1px solid var(--line)}.prefecture-group summary{display:grid;grid-template-columns:1fr 44px;align-items:center;min-height:58px;border-bottom:4px solid var(--navy);cursor:pointer;list-style:none}.prefecture-group summary::-webkit-details-marker{display:none}.prefecture-group summary:hover{background:#f7fafc}.prefecture-group h2{display:flex;align-items:baseline;gap:10px;margin:0;font-size:28px;letter-spacing:-.035em}.prefecture-group h2 span{color:var(--coral);font:800 12px Manrope,sans-serif;letter-spacing:0}.prefecture-toggle{position:relative;width:44px;height:44px}.prefecture-toggle::before,.prefecture-toggle::after{position:absolute;top:21px;left:13px;width:18px;height:2px;background:var(--navy);content:""}.prefecture-toggle::after{transform:rotate(90deg);transition:transform .18s ease}.prefecture-group[open] .prefecture-toggle::after{transform:rotate(0)}.venue-list{border-bottom:1px solid var(--line)}.venue-list-labels,.venue-row{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(360px,2.5fr) 76px;gap:18px;align-items:center}.venue-list-labels{min-height:34px;padding:0 12px;color:var(--muted);font-size:10px;font-weight:900}.venue-row{min-height:54px;padding:8px 12px;border-top:1px solid var(--line);background:#fff}.venue-row:nth-of-type(even){background:#f7fafc}.venue-row h3{min-width:0;margin:0;overflow:hidden;font-size:15px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.venue-row p{margin:0;overflow:hidden;color:#3c556a;font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.venue-row a{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:7px;padding:0 10px;border:1px solid var(--navy);border-radius:999px;font-size:11px;font-weight:900}.venue-row a:hover{background:var(--yellow)}
.guide-callout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;margin:0 0 30px;padding:22px 24px;background:var(--sky);border-left:6px solid var(--coral)}.guide-callout h2{margin:0 0 5px;font-size:22px}.guide-callout p{margin:0;color:#365269}.guide-callout a{display:inline-block;padding:11px 17px;border-radius:999px;background:var(--navy);color:#fff;font-size:13px;font-weight:900}.venue-filter-panel{grid-template-columns:minmax(280px,1fr) minmax(180px,260px)}
.about-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.about-panel{padding:30px;background:var(--soft)}.about-panel h2{margin:0 0 12px;font-size:26px}.about-panel p{margin:0;line-height:1.9}.about-panel.wide{grid-column:1/-1;background:var(--sky)}
.about-page>.page-lead{max-width:900px;text-wrap:balance}
.simple-article{max-width:900px}.simple-article .article-cover{width:100%;margin:30px 0 46px}.simple-article section{padding:34px 0;border-top:1px solid var(--line)}.simple-article h2{font-size:30px;margin:0 0 14px}.simple-article p{line-height:1.9}.simple-article .watch-link{display:inline-block;margin-top:10px;padding:10px 16px;border-radius:999px;background:var(--coral);color:#fff;font-weight:900}
.simple-article .source-note{display:inline-block;margin-top:12px;border-bottom:2px solid var(--yellow);font-size:13px;font-weight:900}
.simple-article .page-title{font-size:clamp(38px,5vw,60px);text-wrap:balance}
.livehouse-guide-article{max-width:940px}.livehouse-guide-article section{scroll-margin-top:96px}.livehouse-guide-article h3{margin:28px 0 8px;font-size:20px;line-height:1.5}.guide-notice{margin:0 0 34px;padding:20px 22px;border-left:6px solid var(--coral);background:var(--sky)}.guide-notice strong{font-size:16px}.guide-notice p{margin:6px 0 0!important;font-size:14px;line-height:1.8!important}.guide-index{margin:0 0 46px;padding:24px 26px;border:2px solid var(--navy);background:#fff}.guide-index>strong{display:block;margin-bottom:11px;font-size:18px}.guide-index ol{display:grid;gap:7px;margin:0;padding-left:1.4em}.guide-index a{border-bottom:1px solid var(--line);font-weight:700}.guide-step{margin:0 0 8px!important;color:var(--coral);font:800 11px Manrope,sans-serif!important;letter-spacing:.12em}.guide-table-wrap{margin:24px 0;overflow-x:auto;border:1px solid var(--line)}.guide-table{width:100%;min-width:680px;border-collapse:collapse;background:#fff}.guide-table th,.guide-table td{padding:15px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;line-height:1.75;text-align:left;vertical-align:top}.guide-table thead th{background:var(--navy);color:#fff;font-size:12px}.guide-table tbody th{width:130px;background:var(--soft);white-space:nowrap}.guide-tip{margin:24px 0;padding:20px 22px;border-radius:10px;background:#fff7dc}.guide-tip strong{font-size:16px}.guide-tip p{margin:5px 0 0!important;font-size:14px}.guide-checklist{display:grid;gap:10px;margin:22px 0;padding:0;list-style:none}.guide-checklist li{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:15px 17px;border:1px solid var(--line);background:#fff}.guide-checklist strong{color:var(--coral)}.guide-checklist span{line-height:1.75}.guide-flow{display:grid;gap:9px;margin:20px 0;padding:0;counter-reset:guide-flow;list-style:none}.guide-flow li{position:relative;min-height:44px;padding:10px 12px 10px 52px;border-bottom:1px solid var(--line);line-height:1.7}.guide-flow li:before{position:absolute;top:8px;left:4px;display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font:800 12px Manrope,sans-serif;counter-increment:guide-flow;content:counter(guide-flow)}.guide-summary{margin-top:36px!important;padding:32px!important;border:0!important;background:var(--navy);color:#fff}.guide-summary h2{color:#fff}.guide-summary p{color:#e4edf3}.guide-summary .watch-link{background:var(--yellow);color:var(--navy)}
@media(max-width:760px){.guide-index{padding:20px}.guide-checklist li{grid-template-columns:1fr;gap:3px}.guide-table th,.guide-table td{padding:12px;font-size:13px}.guide-summary{padding:24px 20px!important}.livehouse-guide-article h3{font-size:18px}}
.share-panel{margin-top:46px;padding:26px;border:2px solid var(--navy);background:#fff}.share-panel h2{margin:0 0 6px;font-size:22px}.share-panel p{margin:0 0 16px;color:var(--muted)}.share-links{display:flex;flex-wrap:wrap;gap:9px}.share-links a,.share-links button{min-height:42px;border:0;border-radius:999px;padding:0 17px;background:var(--navy);color:#fff;font:900 13px inherit;cursor:pointer}.share-links .share-x{background:#111}.share-links .share-line{background:#06c755}
.article-bottom-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:38px}.home-button{display:inline-flex;min-height:46px;align-items:center;padding:0 18px;border:2px solid var(--navy);border-radius:999px;font-size:13px;font-weight:900}.recommended{margin-top:44px;padding-top:34px;border-top:1px solid var(--line)}.recommended>h2{margin:0 0 20px;font-size:25px}.recommended-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.recommended-card{display:block;border:1px solid var(--line);background:#fff}.recommended-card .media-16x9{width:100%}.recommended-card div:last-child{padding:15px}.recommended-card small{color:var(--coral);font-weight:900}.recommended-card h3{margin:5px 0 0;font-size:17px;line-height:1.5}
@media(max-width:760px){.site-nav-links{display:none}.sub-header{height:64px;padding:0 12px;gap:10px}.sub-header nav{display:flex;min-width:0;gap:6px;overflow-x:auto;white-space:nowrap;font-size:11px;scrollbar-width:none}.sub-header nav::-webkit-scrollbar{display:none}.sub-header nav a{padding:8px 5px}.sub-header nav a:nth-child(n+4){display:none}.brand-logo,.site-header .brand-logo,.article-header-logo{width:150px;height:auto;max-height:44px}.site-footer-common{grid-template-columns:1fr}.site-footer-common nav{margin-top:10px}.page-main{padding:48px 18px 82px}.page-title{font-size:39px}.page-lead{font-size:16px;margin-bottom:38px}.article-grid,.band-grid,.venue-grid,.about-sections,.recommended-grid{grid-template-columns:1fr}.filter-panel{grid-template-columns:1fr}.about-panel.wide{grid-column:auto}.guide-callout{grid-template-columns:1fr}.guide-callout a{justify-self:start}}
@media(max-width:760px){.sub-header>a:first-child{max-width:calc(100% - 72px);flex-basis:136px}.brand-logo,.site-header .brand-logo,.article-header-logo{width:136px;max-width:100%;max-height:40px}}

@media(max-width:760px){.venue-directory-page .page-title{font-size:36px;white-space:normal}.venue-result-heading{display:block}.venue-data-note{margin-top:7px;text-align:left}.venue-directory{gap:9px}.prefecture-group summary{min-height:54px}.prefecture-group h2{font-size:25px}.venue-list-labels{display:none}.venue-row{grid-template-columns:minmax(0,1fr) 66px;gap:3px 12px;min-height:68px;padding:10px 8px}.venue-row h3{display:-webkit-box;overflow:hidden;font-size:14px;line-height:1.45;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty;-webkit-box-orient:vertical;-webkit-line-clamp:2}.venue-row p{grid-column:1;white-space:normal;font-size:11px;word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}.venue-row a{grid-column:2;grid-row:1/3;min-height:40px}}

/* Band directory: visual listening cards, distinct from event flyers and recommendation notes. */
.band-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.band-directory-card{display:flex;min-width:0;min-height:410px;flex-direction:column;padding:0;overflow:hidden;border:2px solid var(--navy);border-radius:15px;box-shadow:7px 7px 0 var(--sky);transition:transform .18s ease}.band-directory-card:nth-child(3n+2){box-shadow:7px 7px 0 var(--yellow)}.band-directory-card:hover{transform:translateY(-3px)}.band-card-media{position:relative;display:block;aspect-ratio:16/9;margin:0 0 18px;overflow:hidden;background:#dce7ed}.band-card-media img{display:block;width:100%;height:100%;object-fit:cover}.band-card-media:not(a) img{object-fit:contain;padding:28px;background:#fff7dc}.band-card-play{position:absolute;top:50%;left:50%;display:grid;width:52px;height:52px;place-items:center;border:2px solid #fff;border-radius:50%;background:rgba(6,43,73,.78);color:#fff;transform:translate(-50%,-50%)}.band-directory-card>small,.band-directory-card>h2,.band-directory-card>p{margin-left:19px;margin-right:19px}.band-directory-card>small{font-size:11px}.band-directory-card>h2{margin-top:7px;margin-bottom:8px;font-size:clamp(21px,2vw,27px);line-height:1.25;word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}.band-directory-card>p{font-size:13px;line-height:1.75}.band-card-actions{display:flex;gap:7px;margin:auto 18px 18px}.band-card-actions a{display:flex;min-height:40px;flex:1;align-items:center;justify-content:center;margin:18px 0 0;border:1px solid var(--navy);border-radius:999px;font-size:11px}.band-card-actions a:first-child{background:var(--navy);color:#fff}.band-card-actions a:hover{background:var(--yellow);color:var(--navy)}
@media(max-width:900px){.band-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.band-grid{grid-template-columns:1fr}.band-directory-card{min-height:390px}}
.band-directory-page>.page-title{white-space:nowrap}
@media(max-width:760px){.band-directory-page>.page-title{font-size:31px;letter-spacing:-.07em}}
@media(max-width:340px){.band-directory-page>.page-title{font-size:28px;white-space:normal;text-wrap:balance}}
.band-card-placeholder{display:grid;place-items:center;padding:24px;background:var(--sky)}.band-card-placeholder>span{max-width:100%;font-size:clamp(22px,3vw,34px);font-weight:900;line-height:1.2;letter-spacing:-.05em;text-align:center;word-break:keep-all}

/* Event directory: the date stays visually dominant while venue and lineup remain scannable. */
.event-filter-panel{grid-template-columns:minmax(280px,1fr) minmax(160px,220px) minmax(150px,200px)}
.event-list-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:18px}.event-list-heading .result-status{margin:0;font-weight:700}.event-data-note{max-width:520px;margin:0;color:var(--muted);font-size:12px;line-height:1.65;text-align:right}
.event-month-group{margin-top:42px}.event-month-group>h2{display:flex;align-items:baseline;gap:10px;margin:0 0 20px;padding-bottom:12px;border-bottom:4px solid var(--navy);font-size:34px}.event-month-group>h2 span{color:var(--coral);font:800 14px Manrope,sans-serif;letter-spacing:.04em}
.event-date-list{display:grid;gap:22px}.event-list-card{display:grid;grid-template-columns:120px 220px minmax(0,1fr);min-height:250px;border:2px solid var(--navy);background:#fff;box-shadow:7px 7px 0 var(--yellow)}.event-list-card[hidden]{display:none}
.event-date-badge{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 14px;background:var(--coral);color:#fff}.event-date-badge time{display:flex;align-items:center;gap:7px}.event-date-badge b{font:800 58px/1 Manrope,sans-serif;letter-spacing:-.06em}.event-date-badge span{display:grid;place-items:center;width:27px;height:27px;border:2px solid #fff;border-radius:50%;font-size:12px;font-weight:900}.event-date-badge small{margin-top:8px;font:800 12px Manrope,sans-serif;letter-spacing:.18em}.event-date-badge i{margin:-4px 0;font:700 18px Manrope,sans-serif}.event-date-badge.multi-day b{font-size:40px}.event-date-badge.multi-day time{gap:5px}
.event-list-visual{display:flex;align-items:center;justify-content:center;min-width:0;padding:20px;border-right:1px solid var(--line);background:#f7fafc;overflow:hidden}.event-list-visual img{display:block;width:100%;height:100%;max-height:185px;object-fit:contain}
.event-nameplate span{display:grid;gap:8px;text-align:center}.event-nameplate b{font:900 25px/1.05 Manrope,"Zen Kaku Gothic New",sans-serif;letter-spacing:-.055em}.event-nameplate small{font:800 10px Manrope,sans-serif;letter-spacing:.08em}.event-nameplate.bridge{background:#142746;color:#fff}.event-nameplate.inspire{background:#f3ff46;color:#111}.event-nameplate.blaze{background:#e9442e;color:#fff}.event-nameplate.musicbank{background:#8d72ff;color:#fff}.event-nameplate.kyotoexpress{background:#111;color:#ffd928}.event-nameplate.musubi{background:#f6eadc;color:#a63826}.event-nameplate.merry{background:#1571c4;color:#fff}.event-nameplate.radiocrazy{background:#ffdf2e;color:#111}.event-nameplate.cdj{background:#111;color:#fff}.event-nameplate.hype{background:#ff624f;color:#fff}.event-nameplate.fukufes{background:#4ac7e9;color:#062b49}
.event-list-content{display:flex;min-width:0;flex-direction:column;padding:26px 28px}.event-list-area{margin:0;color:var(--coral);font-size:12px;font-weight:900}.event-list-content h3{margin:6px 0 18px;font-size:clamp(23px,3vw,34px);line-height:1.25;letter-spacing:-.035em}.event-lineup{display:grid;grid-template-columns:48px 1fr;gap:12px}.event-lineup h4{margin:2px 0;color:var(--navy);font-size:13px}.event-lineup p{margin:0;color:#3d5569;font-size:14px;line-height:1.8}.event-list-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:20px}.event-list-links a{display:inline-flex;min-height:44px;align-items:center;padding:0 16px;border:2px solid var(--navy);border-radius:999px;font-size:12px;font-weight:900}.event-list-links a:first-child{background:var(--navy);color:#fff}.event-list-links a:hover{background:var(--yellow);color:var(--navy)}
@media(max-width:900px){.event-filter-panel{grid-template-columns:1fr 1fr}.event-filter-panel label:first-child{grid-column:1/-1}.event-list-card{grid-template-columns:105px 180px minmax(0,1fr)}.event-list-content{padding:22px}.event-list-visual{padding:14px}}
@media(max-width:680px){.event-directory-page .page-title{font-size:34px;letter-spacing:-.065em;white-space:nowrap}.event-filter-panel{grid-template-columns:1fr}.event-filter-panel label:first-child{grid-column:auto}.event-list-heading{display:block}.event-data-note{margin-top:8px;text-align:left}.event-list-card{grid-template-columns:88px minmax(0,1fr);box-shadow:5px 5px 0 var(--yellow)}.event-date-badge{grid-row:1/3;padding:16px 8px}.event-date-badge b{font-size:42px}.event-date-badge.multi-day b{font-size:31px}.event-date-badge span{width:24px;height:24px}.event-list-visual{grid-column:2;min-height:125px;border-right:0;border-bottom:1px solid var(--line)}.event-list-content{grid-column:2;padding:18px}.event-list-content h3{font-size:23px}.event-lineup{grid-template-columns:1fr;gap:2px}.event-list-links{display:grid}.event-list-links a{justify-content:center}}

/* Flyer board: native image ratios create a Pinterest-like masonry wall. */
.event-directory-page{max-width:1320px}.event-directory-page .page-title{max-width:980px;text-wrap:balance}.event-directory-page .page-lead{margin-bottom:38px}.event-filter-panel{position:sticky;z-index:8;top:88px;grid-template-columns:minmax(280px,1fr) 190px 190px;margin-bottom:22px;border-radius:14px;box-shadow:0 14px 34px rgba(6,43,73,.09)}
.event-masonry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}.event-column{display:flex;min-width:0;flex-direction:column;gap:20px}.event-pin{display:block;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(6,43,73,.08);transition:transform .18s ease,box-shadow .18s ease}.event-pin:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(6,43,73,.15)}
.event-poster{position:relative;display:block;min-height:180px;overflow:hidden;background:#e9f0f4}.event-poster img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .3s ease}.event-pin:hover .event-poster img{transform:scale(1.012)}.event-date-sticker{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;min-height:42px;padding:6px 9px 6px 13px;border:2px solid #fff;border-radius:999px;background:var(--coral);color:#fff;box-shadow:0 4px 12px rgba(6,43,73,.25)}.event-date-sticker b{font:800 15px Manrope,sans-serif}.event-date-sticker small{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;color:var(--coral);font-size:11px;font-weight:900}
.event-pin-body{padding:17px 17px 19px}.event-pin-place{margin:0;color:var(--coral);font-size:11px;font-weight:900}.event-pin h2{margin:7px 0 12px;font-size:19px;line-height:1.42;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}.event-pin-lineup{padding-top:11px;border-top:1px solid var(--line)}.event-pin-lineup>span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:900}.event-pin-lineup p{margin:0;color:#344d62;font-size:12px;line-height:1.65}.event-official-link{display:flex;min-height:44px;align-items:center;justify-content:space-between;margin-top:15px;padding:0 14px;border-radius:9px;background:var(--navy);color:#fff;font-size:12px;font-weight:900}.event-official-link:hover{background:var(--coral)}
@media(max-width:900px){.event-filter-panel{position:static;grid-template-columns:1fr 1fr}.event-filter-panel label:first-child{grid-column:1/-1}.event-masonry{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.event-column{gap:16px}}
@media(max-width:620px){.event-directory-page .page-title{font-size:36px;white-space:normal}.event-filter-panel{grid-template-columns:1fr}.event-filter-panel label:first-child{grid-column:auto}.event-list-heading{display:block}.event-data-note{margin-top:8px;text-align:left}.event-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.event-column{gap:12px}.event-pin{border-radius:11px}.event-pin-body{padding:12px}.event-pin h2{font-size:15px;line-height:1.45}.event-pin-lineup p{font-size:11px}.event-poster{min-height:120px}.event-date-sticker{right:8px;bottom:8px;min-height:36px;padding:4px 7px 4px 10px}.event-date-sticker b{font-size:12px}.event-date-sticker small{width:22px;height:22px}.event-official-link{padding:0 10px;font-size:11px}}

/* Listener recommendation directory: warm editorial notes instead of a flyer wall. */
.recommendation-directory-body{background:#fff7dc}.recommendation-directory-page{max-width:1260px}.recommendation-intro{position:relative;margin:-68px -24px 42px;padding:74px 24px 52px;background:var(--coral);color:#fff;overflow:hidden}.recommendation-intro:after{position:absolute;right:-80px;bottom:-140px;width:330px;aspect-ratio:1;border:34px solid var(--yellow);border-radius:50%;content:""}.recommendation-intro .page-kicker{color:var(--yellow)}.recommendation-intro .page-title{position:relative;z-index:1;max-width:980px}.recommendation-intro .page-lead{position:relative;z-index:1;margin-bottom:0;color:#fff;max-width:780px}.recommendation-filter{position:relative;z-index:2;grid-template-columns:minmax(280px,1fr) minmax(170px,230px);margin-top:-70px;border:0;border-radius:14px;box-shadow:0 14px 34px rgba(6,43,73,.14)}.recommendation-result-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.recommendation-result-heading .result-status{margin:0;font-weight:800}.recommendation-result-heading>a{display:inline-flex;min-height:42px;align-items:center;padding:0 16px;border:2px solid var(--navy);border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:900}.listener-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.listener-note{display:grid;grid-template-columns:42% 1fr;min-height:270px;overflow:hidden;border:2px solid var(--navy);border-radius:16px;background:#fff;box-shadow:8px 8px 0 var(--yellow)}.listener-note:nth-child(4n+2),.listener-note:nth-child(4n+3){box-shadow:8px 8px 0 var(--blue)}.listener-note-media{position:relative;display:block;min-width:0;background:#dce7ed;overflow:hidden}.listener-note-media img{display:block;width:100%;height:100%;object-fit:cover}.listener-note-media>span{position:absolute;top:50%;left:50%;display:grid;width:54px;height:54px;place-items:center;border:2px solid #fff;border-radius:50%;background:rgba(6,43,73,.78);color:#fff;transform:translate(-50%,-50%)}.listener-note-copy{display:flex;min-width:0;flex-direction:column;padding:22px}.listener-note-meta{display:flex;align-items:start;justify-content:space-between;gap:12px}.listener-note-meta small{color:var(--coral);font-size:11px;font-weight:900}.listener-note-meta b{color:#dce5eb;font:800 34px/1 Manrope,sans-serif}.listener-note h2{margin:5px 0 12px;font-size:clamp(22px,2.4vw,30px);line-height:1.25;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere}.listener-note blockquote{margin:0;color:#334e63;font-size:14px;line-height:1.8;font-weight:700}.listener-note-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:16px}.listener-note-links a{display:inline-flex;min-height:38px;align-items:center;padding:0 11px;border:1px solid var(--navy);border-radius:999px;font-size:10px;font-weight:900}.listener-note-links .listen-link{background:var(--navy);color:#fff}.listener-note-links a:hover{background:var(--yellow);color:var(--navy)}
@media(max-width:900px){.listener-notes{grid-template-columns:1fr}.listener-note{grid-template-columns:240px 1fr}.recommendation-intro{margin-top:-48px}}
@media(max-width:620px){.recommendation-intro{margin:-48px -18px 32px;padding:54px 18px 76px}.recommendation-intro .page-title{font-size:35px}.recommendation-intro .page-lead{font-size:14px}.recommendation-filter{grid-template-columns:1fr;margin-top:-65px}.recommendation-result-heading{align-items:flex-start}.recommendation-result-heading>a{white-space:nowrap}.listener-notes{gap:18px}.listener-note{grid-template-columns:42% 1fr;min-height:230px;border-radius:12px;box-shadow:5px 5px 0 var(--yellow)}.listener-note-copy{padding:14px 12px}.listener-note-meta b{font-size:25px}.listener-note h2{font-size:19px}.listener-note blockquote{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:4}.listener-note-links{display:grid;grid-template-columns:1fr 1fr;gap:5px}.listener-note-links a{justify-content:center}.listener-note-links .listen-link{grid-column:1/-1}.listener-note-media>span{width:46px;height:46px}}

/* Prevent orphaned Japanese line endings and support the 90-day recommendation cycle. */
.recommendation-intro .page-title{max-width:18ch;text-wrap:balance}
.recommendation-intro .page-lead{max-width:940px;text-wrap:pretty}
.recommendation-filter{grid-template-columns:minmax(280px,1fr) minmax(150px,210px) minmax(150px,210px)}
.listener-note-date{margin:8px 0 0;color:#718392;font:800 10px Manrope,sans-serif;letter-spacing:.02em}
.recommendation-policy{position:relative;z-index:2;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.5fr);gap:34px;margin:-18px 0 34px;padding:28px 30px;border:2px solid var(--navy);border-radius:14px;background:#fff;box-shadow:7px 7px 0 var(--yellow)}.recommendation-policy-label{margin:0 0 7px;color:var(--coral);font:800 10px Manrope,sans-serif;letter-spacing:.09em}.recommendation-policy h2{margin:0 0 10px;font-size:25px;letter-spacing:-.035em}.recommendation-policy>div>p:last-child{margin:0;color:#40596d;font-size:13px;line-height:1.8}.recommendation-policy ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 22px;margin:0;padding:0;list-style:none}.recommendation-policy li{display:grid;gap:4px;padding-left:13px;border-left:4px solid var(--sky)}.recommendation-policy li:nth-child(2n){border-color:var(--yellow)}.recommendation-policy strong{font-size:13px}.recommendation-policy span{color:#52687a;font-size:11px;line-height:1.65}.recommendation-policy+.recommendation-filter{margin-top:0}.listener-note-meta{justify-content:flex-start}.listener-note-meta b,.listener-note-date{display:none}
@media(max-width:760px){.recommendation-policy{grid-template-columns:1fr;gap:22px;margin-top:-12px;padding:22px 19px}.recommendation-policy ul{grid-template-columns:1fr}.recommendation-policy h2{font-size:22px}}
.listener-note.is-archived{filter:saturate(.55);opacity:.78}
.page-lead,.event-heading>p,.recommend-heading p,.about-panel p,.event-description{word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
@media(max-width:760px){.recommendation-filter{grid-template-columns:1fr}.page-lead,.event-heading>p,.recommend-heading p{max-width:36em}.recommendation-result-heading{display:block}.recommendation-result-heading>a{margin-top:14px}.listener-note{grid-template-columns:1fr}.listener-note-media{aspect-ratio:16/9}.listener-note-copy{min-height:265px;padding:18px}.listener-note blockquote{font-size:14px}.listener-note-links{display:flex}.listener-note-links .listen-link{flex:1 0 100%}}
@media(max-width:380px){.recommendation-intro .page-title{max-width:16ch;font-size:31px}.recommendation-intro .page-lead{font-size:13px;line-height:1.8}.recommendation-result-heading .result-status{max-width:none}}

/* Article directory: one menu item, two clearly separated editorial shelves. */
.article-directory{max-width:1240px}.article-directory>.page-title{white-space:nowrap}.article-category-nav{display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 64px}.article-category-nav a{display:inline-flex;min-height:46px;align-items:center;padding:0 18px;border:2px solid var(--navy);border-radius:999px;background:#fff;color:var(--navy);font-size:13px;font-weight:900}.article-category-nav a:first-child{background:var(--navy);color:#fff}.article-category-nav a:hover{background:var(--yellow);color:var(--navy)}.article-category-section{scroll-margin-top:100px}.article-category-section+ .article-category-section{margin-top:100px;padding-top:76px;border-top:1px solid var(--line)}.article-category-section>header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 32px;margin-bottom:28px}.article-category-section>header small{grid-column:1/-1;color:var(--coral);font:800 11px Manrope,sans-serif;letter-spacing:.12em}.article-category-section>header h2{margin:0;color:var(--navy);font-size:clamp(32px,4vw,50px);line-height:1.2;letter-spacing:-.045em}.article-category-section>header p{max-width:42em;margin:0 0 5px;color:#536a7d;font-size:14px;font-weight:700}.article-category-section .article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-category-section .story-card{min-width:0}.article-category-section .story-card h2{font-size:20px;line-height:1.55;text-wrap:pretty}.article-category-guides{position:relative}.article-category-guides:before{content:"";position:absolute;z-index:-1;inset:36px -32px -54px;border-radius:28px;background:#edfaff}
@media(max-width:980px){.article-category-section .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-category-section>header{grid-template-columns:1fr}.article-category-section>header p{margin-top:8px}}
@media(max-width:620px){.article-directory>.page-title{white-space:normal}.article-category-nav{display:grid;margin-bottom:54px}.article-category-nav a{justify-content:center}.article-category-section+ .article-category-section{margin-top:72px;padding-top:58px}.article-category-section .article-grid{grid-template-columns:1fr}.article-category-section>header h2{font-size:34px}.article-category-guides:before{inset:28px -10px -36px}}

/* Deliberate line groups: never split the quotation or leave a short orphan. */
.recommendation-intro .page-title{max-width:none;font-size:clamp(42px,5.25vw,64px);text-wrap:wrap}
.recommendation-intro .page-title span,.recommendation-intro .page-lead span{display:block}
.recommendation-intro .page-title span{white-space:nowrap}
.recommendation-intro .page-lead{max-width:none;font-size:16px}
.recommendation-intro .page-lead span{width:max-content;max-width:100%;white-space:nowrap}
@media(max-width:760px){.recommendation-intro .page-title{font-size:clamp(30px,9.2vw,42px)}.recommendation-intro .page-title span,.recommendation-intro .page-lead span{width:auto;white-space:normal;text-wrap:pretty}.recommendation-intro .page-title span+span{margin-top:.08em}.recommendation-intro .page-lead span+span{margin-top:.25em}}

/* Compact band directory: more bands visible without losing the 16:9 media rhythm. */
.band-directory-page{max-width:1320px}.band-directory-page .band-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.band-directory-page .band-directory-card{min-height:330px;border-radius:12px;box-shadow:5px 5px 0 var(--sky)}.band-directory-page .band-directory-card:nth-child(3n+2){box-shadow:5px 5px 0 var(--yellow)}.band-directory-page .band-card-media{margin-bottom:13px}.band-directory-page .band-card-play{width:42px;height:42px}.band-directory-page .band-directory-card>small,.band-directory-page .band-directory-card>h2,.band-directory-page .band-directory-card>p{margin-left:14px;margin-right:14px}.band-directory-page .band-directory-card>h2{margin-top:5px;margin-bottom:5px;font-size:20px}.band-directory-page .band-directory-card>p{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}.band-directory-page .band-card-actions{margin:8px 13px 13px}.band-directory-page .band-card-actions a{min-height:36px;margin-top:8px;font-size:10px}.band-directory-page .band-card-placeholder>span{font-size:25px}
@media(max-width:1000px){.band-directory-page .band-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.band-directory-page .band-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.band-directory-page .band-directory-card{min-height:300px}.band-directory-page .band-directory-card>h2{font-size:17px}.band-directory-page .band-card-actions{display:grid;grid-template-columns:1fr}.band-directory-page .band-card-actions a{margin-top:0}.band-directory-page .band-card-actions a+a{margin-top:0}}
@media(max-width:390px){.band-directory-page .band-grid{grid-template-columns:1fr}.band-directory-page .band-directory-card{min-height:320px}}
.recommendation-policy span{text-wrap:pretty}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Editorial and advertising policy */
.policy-page{max-width:960px}
.policy-sections{display:grid;gap:0;margin-top:42px;border-top:3px solid #0b2b49}
.policy-sections section{display:grid;grid-template-columns:minmax(190px,260px) 1fr;gap:34px;padding:30px 0;border-bottom:1px solid #cbd8df}
.policy-sections h2{margin:0;color:#0b2b49;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.45}
.policy-sections p{margin:0;color:#29445a;line-height:2}
.policy-sections p+p{margin-top:14px}
.policy-sections a{color:#e94e49;text-underline-offset:4px}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0 0;color:#50687b;font-size:.85rem;font-weight:700}
.affiliate-slot{margin:44px 0;padding:18px 20px;border:1px solid #bfd0d9;background:#f7fbfd;color:#29445a}
.affiliate-slot-label{display:block;margin-bottom:8px;color:#e94e49;font-size:.72rem;font-weight:900}
.footer-policy-link{color:inherit;font-size:.78rem;font-weight:700;text-underline-offset:4px}
@media(max-width:680px){.policy-sections section{grid-template-columns:1fr;gap:10px}.article-meta{display:grid;gap:4px}}

/* Official coral B mark: compact, square, and never stretched. */
.brand-logo,.site-header .brand-logo,.article-header-logo{width:52px;height:52px;max-width:none;max-height:none;border-radius:14px;object-fit:contain;object-position:center}
.sub-header>a:first-child{flex:0 0 52px;max-width:52px}
.footer-logo{width:64px;height:64px;max-width:none;max-height:none;padding:0;border-radius:16px;background:transparent;object-fit:contain}
@media(max-width:760px){.brand-logo,.site-header .brand-logo,.article-header-logo{width:44px;height:44px;max-width:none;max-height:none;border-radius:12px}.sub-header>a:first-child{flex-basis:44px;max-width:44px}.footer-logo{width:58px;height:58px}}

/* Keep the full BAND CRUISER identity visible on every inner-page header. */
.sub-header>a:first-child,.site-header .brand{display:flex;flex:0 0 auto;max-width:none;align-items:center;gap:10px;text-decoration:none}
.sub-header .brand-name,.site-header .brand-name{display:block;color:var(--navy);font:800 16px/.9 Manrope,sans-serif;letter-spacing:-.045em;white-space:nowrap}
@media(max-width:760px){.sub-header>a:first-child{flex-basis:auto;max-width:none;gap:8px}.sub-header .brand-name,.site-header .brand-name{font-size:14px}}

/* Keep the inner-page menu translucent without reducing text contrast. */
.sub-header{border-bottom-color:rgba(6,43,73,.14);background:rgba(255,255,255,.84);-webkit-backdrop-filter:blur(12px) saturate(1.15);backdrop-filter:blur(12px) saturate(1.15)}

/* Shared navigation, resilient Japanese wrapping, and chronological event controls. */
.sub-menu-button{display:none}
.page-main,.page-main>*,.sub-header>*{min-width:0}
.page-title,.article-category-section>header h2,.story-card h2,.story-card h3,.band-directory-card>h2,.event-pin h2,.listener-note h2,.about-panel h2{
  max-width:100%;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.page-lead,.story-card p,.band-directory-card>p,.event-pin-lineup p,.listener-note blockquote,.about-panel p{
  word-break:normal;
  overflow-wrap:break-word;
  text-wrap:pretty;
}
.event-view-switch{display:flex;align-items:center;gap:8px;margin:-10px 0 24px}
.event-view-switch>span{margin-right:4px;color:var(--muted);font-size:12px;font-weight:900}
.event-view-switch button{min-height:42px;padding:0 17px;border:1px solid var(--navy);border-radius:999px;background:#fff;color:var(--navy);font:900 12px/1 "Zen Kaku Gothic New",sans-serif;cursor:pointer}
.event-view-switch button[aria-pressed="true"]{background:var(--navy);color:#fff}
.event-view-switch button:hover{background:var(--yellow);color:var(--navy)}
.event-masonry>.event-pin{min-width:0}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;min-height:44px;padding:11px 16px;border-radius:999px;background:var(--navy);color:#fff;font-size:13px;font-weight:900;transform:translateY(-160%);transition:transform .16s ease}
.skip-link:focus{transform:translateY(0)}

@media(max-width:760px){
  body{overflow-x:clip}
  .sub-header{padding:0 12px}
  .sub-header>a:first-child{min-width:0;max-width:calc(100% - 76px)}
  .sub-header .brand-name{overflow:hidden;text-overflow:ellipsis}
  .sub-menu-button{position:relative;z-index:22;display:inline-flex;min-width:64px;min-height:44px;align-items:center;justify-content:center;gap:7px;padding:0 10px;border:1px solid rgba(6,43,73,.18);border-radius:999px;background:rgba(255,255,255,.92);color:var(--navy);font:900 11px/1 Manrope,sans-serif;cursor:pointer}
  .sub-menu-button i,.sub-menu-button i:before,.sub-menu-button i:after{display:block;width:15px;height:2px;border-radius:2px;background:currentColor;content:"";transition:transform .18s ease}
  .sub-menu-button i{position:relative}
  .sub-menu-button i:before{position:absolute;top:-5px;left:0}
  .sub-menu-button i:after{position:absolute;top:5px;left:0}
  .sub-menu-button[aria-expanded="true"] i{background:transparent}
  .sub-menu-button[aria-expanded="true"] i:before{top:0;transform:rotate(45deg)}
  .sub-menu-button[aria-expanded="true"] i:after{top:0;transform:rotate(-45deg)}
  .sub-header nav{position:absolute;z-index:21;top:calc(100% + 8px);right:12px;left:12px;display:none;max-height:calc(100vh - 92px);grid-template-columns:1fr;gap:0;padding:10px;overflow-y:auto;border:1px solid rgba(6,43,73,.14);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 18px 44px rgba(6,43,73,.16);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15)}
  .sub-header nav.open{display:grid}
  .sub-header nav a,.sub-header nav a:nth-child(n+4){display:flex;min-height:48px;align-items:center;padding:0 14px;border-radius:10px;font-size:14px}
  .sub-header nav a:hover,.sub-header nav a[aria-current="page"]{background:var(--sky)}
  .page-main{width:100%;padding-right:18px;padding-left:18px}
  .band-directory-page>.page-title{white-space:normal;text-wrap:balance}
  .event-view-switch{flex-wrap:wrap}
}
