/* PC public layout: fixed top navigation and one shared outer content column. */
@media(min-width:700px){
  :root{--public-content-width:1240px;--public-side-space:clamp(32px,4vw,72px);--public-nav-height:188px}

  .site-header{position:fixed;inset:0 0 auto 0;width:100%;height:136px;padding:12px var(--public-side-space);background:rgba(19,15,13,.97);border-right:0;border-bottom:0;z-index:30}
  .site-header .brand{position:absolute;top:10px;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap}
  .site-header .brand small{font-size:10px}
  .site-header .brand span{font-size:28px}
  .site-header .brand-logo{display:block;width:116px;height:116px;object-fit:contain}
  .site-header .icon-button{top:52px;right:var(--public-side-space);font-size:21px;z-index:1}
  .bottom-nav{position:fixed;inset:136px 0 auto 0;width:100%;height:52px;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:16px;padding:6px var(--public-side-space) 9px;background:rgba(19,15,13,.97);border-right:0;border-bottom:1px solid rgba(255,199,125,.17);z-index:29}
  .bottom-nav button,.bottom-nav a{width:auto;padding:9px 14px;white-space:nowrap;text-align:center;font-size:18px}
  .bottom-nav button,.bottom-nav a{position:relative;background:transparent;box-shadow:none;transition:color .16s ease}
  .bottom-nav button::after,.bottom-nav a::after{content:'';position:absolute;left:14px;right:14px;bottom:3px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:center;transition:transform .16s ease}
  .bottom-nav button:hover,.bottom-nav a:hover,.bottom-nav .active{background:transparent;box-shadow:none;color:var(--gold)}
  .bottom-nav button:hover::after,.bottom-nav a:hover::after,.bottom-nav .active::after{transform:scaleX(1)}

  .site{margin-left:0;padding:calc(var(--public-nav-height) + 32px) var(--public-side-space) 70px}
  .site>.page{width:min(100%,var(--public-content-width));max-width:var(--public-content-width);margin-left:auto!important;margin-right:auto!important}

  .page:has(.home-top),.page:has(.event-block){margin-left:auto!important;margin-right:auto!important;max-width:var(--public-content-width)!important}
  .page:has(.home-top) .home-header,.page:has(.home-top) .home-top,.page:has(.home-top) .home-details,.page:has(.home-top) .home-after-top,.page:has(.home-top) .school-intro{width:100%;max-width:none;margin-left:0;margin-right:0}
  .page:has(.home-top) .home-top{grid-template-columns:minmax(0,1.25fr) minmax(360px,.9fr);gap:clamp(34px,5vw,72px)}
  .page:has(.home-top) .home-after-top .home-concept,.page:has(.home-top) .home-after-top .home-gallery,.page:has(.home-top) .home-side{width:100%;max-width:none}
  .page:has(.home-top) .home-after-top .home-concept p{max-width:680px}
  .page:has(.home-top) .home-gallery{max-width:none}

  .common-access{width:100%;max-width:none}

  /* ACCESS remains one readable column, centered as a unit while its contents stay left aligned. */
  .common-access{width:min(100%,760px);max-width:760px;margin-left:auto!important;margin-right:auto!important}

  /* Prevent fixed navigation from appearing over the opening logo, including on first paint. */
  body:not(.splash-nav-ready) .site-header,body:not(.splash-nav-ready) .bottom-nav{visibility:hidden;opacity:0;pointer-events:none}
  body.splash-nav-ready .site-header,body.splash-nav-ready .bottom-nav{visibility:visible;opacity:1;transition:opacity .18s ease}

  /* HOME lower-content typography only; images, spacing, and other pages stay unchanged. */
  .page:has(.home-top) .home-after-top .home-mini-title,.page:has(.home-top) .home-side .home-mini-title{font-size:23px}
  .page:has(.home-top) .home-after-top .home-concept p,.page:has(.home-top) .home-side .notice-mini p{font-size:17px}
  .page:has(.home-top) .home-side .home-news-item strong{font-size:16px}
  .page:has(.home-top) .home-side .home-news-item .date{font-size:13px}
  .page:has(.home-top) .home-side .home-news-summary{font-size:14px}
  .page:has(.home-top) .school-intro h2{font-size:clamp(25px,2.8vw,36px)}
  .page:has(.home-top) .school-intro p{font-size:16px}
  .page:has(.home-top) .school-intro a{font-size:14px}

  /* PC HOME readability pass: preserve authored newlines, without narrowing the concept paragraph. */
  .page:has(.home-top) .home-after-top .home-concept p{max-width:960px;font-size:18px;white-space:pre-line;word-break:normal;overflow-wrap:break-word}
  .page:has(.home-top) .home-after-top .home-gallery{width:100%;max-width:1040px}
  .page:has(.home-top) .home-intro>.copy{font-size:18px}
  .page:has(.home-top) .home-after-top .home-mini-title,.page:has(.home-top) .home-side .home-mini-title{font-size:25px}
  .page:has(.home-top) .home-side .notice-mini p{font-size:18px}
  .page:has(.home-top) .home-side .home-news-item strong{font-size:17px}
  .page:has(.home-top) .home-side .home-news-item .date{font-size:14px}
  .page:has(.home-top) .home-side .home-news-summary{font-size:15px}
  .page:has(.home-top) .school-intro h2{font-size:clamp(28px,2.8vw,38px)}
  .page:has(.home-top) .school-intro p{font-size:18px}
  .page:has(.home-top) .school-intro a{font-size:15px}

  /* Keep the public-page titles distinct from the content that follows. */
  .page:has(.event-block)>.section-title,.page:has(.news-item)>.section-title,.page:has(.empty)>.section-title{margin-bottom:40px}

  /* PC MENU: widen and center only the public menu column; category tabs remain unchanged. */
  .page:has(.tabs)>.eyebrow,.page:has(.tabs)>.section-title,.page:has(.tabs)>.tabs,.page:has(.tabs)>.menu-items{width:min(100%,960px);margin-left:auto;margin-right:auto}
  .page:has(.tabs)>.section-title{margin-bottom:28px}
  .page:has(.tabs)>.menu-items{max-width:960px}
  .page:has(.tabs) .menu-item{grid-template-columns:minmax(0,1fr) minmax(6em,auto);column-gap:clamp(34px,4vw,64px);align-items:center;min-height:86px;padding:24px 0;font-size:22px}
  .page:has(.tabs) .menu-item>span:first-child{font-weight:700}
  .page:has(.tabs) .menu-item>span:first-child .copy{margin-left:1.25em;color:var(--muted);font-size:18px;font-weight:500;line-height:1.75}
  .page:has(.tabs) .menu-item>.price{min-width:5.5em;font-size:22px;font-weight:800}

  /* Center the three public-page English titles without changing their typography. */
  .page:has(.event-block)>.section-title,.page:has(.tabs)>.section-title,.page:has(.news-item)>.section-title,.page:has(.empty)>.section-title{text-align:center}

  /* PC HOME: enlarge only the content beginning with NOTICE through the school link. */
  .page:has(.home-top) .home-side .home-mini-title{font-size:28px}
  .page:has(.home-top) .home-side .notice-mini p{font-size:20px}
  .page:has(.home-top) .home-side .home-news-item strong{font-size:19px}
  .page:has(.home-top) .home-side .home-news-item .date{font-size:15px}
  .page:has(.home-top) .home-side .home-news-summary{font-size:16px}
  .page:has(.home-top) .school-intro .eyebrow{font-size:15px}
  .page:has(.home-top) .school-intro h2{font-size:clamp(31px,2.8vw,42px)}
  .page:has(.home-top) .school-intro p{font-size:20px}
  .page:has(.home-top) .school-intro a{font-size:16px}
  .page:has(.home-top) .home-after-top .home-concept p{font-size:20px}
}

/* Fixed public MENU notice; it does not read or change CMS data. */
.page:has(.tabs)>.section-title::after{content:'CHARGE ¥500 / +¥100 PER HOUR';display:block;margin-top:20px;padding:11px 0 10px;border-top:1px solid rgba(255,199,125,.48);border-bottom:1px solid rgba(255,199,125,.48);color:var(--gold);font-family:'Murecho','Noto Sans JP',sans-serif;font-size:clamp(16px,1.45vw,19px);font-weight:700;letter-spacing:.07em;line-height:1.5}

/* HOME NOTICE only: restore the original restrained orange rule. */
.page:has(.home-top) .home-side .notice-mini{position:relative;border:0;background:transparent;padding:15px 0}
.page:has(.home-top) .home-side .notice-mini::before{content:'';position:absolute;top:15px;bottom:15px;left:-14px;width:2px;background:var(--orange)}
.page:has(.home-top) .school-intro>.eyebrow{font-family:'Playfair Display','Noto Sans JP',serif;font-size:clamp(18px,2vw,28px);font-weight:500;letter-spacing:.02em;color:var(--gold)}
.page:has(.home-top) .school-intro h2{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif}

/* MENU category controls: text navigation with a restrained active underline. */
.page:has(.tabs)>.tabs{gap:clamp(18px,2.2vw,32px);padding:4px 0 13px}
.page:has(.tabs)>.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;background:transparent;color:var(--muted);padding:6px 0 7px;font-size:17px;font-weight:500}
.page:has(.tabs)>.tabs button.active{border-color:transparent transparent var(--orange);background:transparent;color:var(--gold);font-weight:700}
.page:has(.tabs)>.tabs button:hover{background:transparent;color:var(--cream)}

@media(max-width:699px){.site-header .brand-logo{display:block;width:52px;height:52px;object-fit:contain}.page:has(.tabs)>.section-title::after{margin-top:16px;padding:9px 0 8px;font-size:15px;letter-spacing:.045em}}

/* Remove only the auxiliary orange labels on the three requested public pages. */
.page:has(.event-block)>.eyebrow,.page:has(.tabs)>.eyebrow,.page:has(.news-item)>.eyebrow,.page:has(.empty)>.eyebrow{display:none}

/* These public headings are centered on mobile; desktop alignment remains untouched. */
@media(max-width:699px){.page:has(.event-block)>.section-title,.page:has(.tabs)>.section-title,.page:has(.news-item)>.section-title,.page:has(.empty)>.section-title{width:100%;text-align:center}.page:has(.event-block)>.event-block>h2{text-align:center}}

/* Separate the three public-page design headings clearly from their first content. */
@media(min-width:700px){.page:has(.event-block)>.section-title,.page:has(.tabs)>.section-title,.page:has(.news-item)>.section-title,.page:has(.empty)>.section-title{margin-bottom:56px}.page:has(.tabs)>.section-title::after{margin-top:32px}}
@media(max-width:699px){.page:has(.event-block)>.section-title,.page:has(.tabs)>.section-title,.page:has(.news-item)>.section-title,.page:has(.empty)>.section-title{margin-bottom:48px}.page:has(.tabs)>.section-title::after{margin-top:28px}}

/* HOME post-hero scale: keep the hierarchy, while matching the hero's larger presence. */
@media(min-width:700px){
  .page:has(.home-hero) .home-after-top{max-width:1080px;margin-top:36px;margin-bottom:40px}
  .page:has(.home-hero) .home-after-top .home-concept p,.page:has(.home-hero) .home-side .notice-mini p{font-size:22px}
  .page:has(.home-hero) .home-side .home-mini-title{font-size:30px}
  .page:has(.home-hero) .home-side .home-news-item strong{font-size:21px}
  .page:has(.home-hero) .home-side .home-news-item .date{font-size:16px}
  .page:has(.home-hero) .home-side .home-news-summary{font-size:18px}
  .page:has(.home-hero) .school-intro p{font-size:22px}
  .page:has(.home-hero) .school-intro a{font-size:17px}
  .page:has(.home-hero) .home-after-top .home-gallery{max-width:680px}
  .page:has(.home-hero) .home-mosaic{width:min(100%,920px)}
  .page:has(.home-hero) .home-mosaic .home-photos{height:280px}
  .page:has(.home-hero) .home-side .notice-mini{position:relative;border:0;background:transparent;padding:15px 0}
  .page:has(.home-hero) .home-side .notice-mini::before{content:'';position:absolute;top:15px;bottom:15px;left:-14px;width:2px;background:var(--orange)}
}

/* HOME reading sections share one centered, wider column; the gallery stays independent. */
@media(min-width:700px){
  .page:has(.home-hero) .home-after-top,.page:has(.home-hero) .home-details,.page:has(.home-hero) .school-intro{width:min(100%,920px);max-width:920px;margin-left:auto;margin-right:auto}
  .page:has(.home-hero) .home-after-top .home-concept,.page:has(.home-hero) .home-details .home-side{width:100%;max-width:none;margin-left:0;margin-right:0;text-align:left}
  .page:has(.home-hero) .school-intro p{max-width:none}
  .page:has(.home-hero) .home-after-top .home-concept .home-mini-title{font-size:30px}
  .page:has(.home-hero) .home-after-top .home-gallery{max-width:740px;margin-left:auto;margin-right:auto}
  .page:has(.home-hero) .school-intro>.eyebrow{font-family:'Playfair Display','Noto Sans JP',serif;font-size:30px;font-weight:500;letter-spacing:.02em;color:var(--gold)}
}

/* MENU product and category text only: the charge label and page title retain their type. */
.page:has(.tabs) .menu-items .menu-item,.page:has(.tabs) .menu-items .menu-item>span:first-child,.page:has(.tabs) .menu-items .menu-item .copy,.page:has(.tabs) .menu-items .menu-item .price{font-family:'Noto Serif JP','Noto Sans JP',serif}
.page:has(.tabs)>.tabs button{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif}
.page:has(.home-hero) .school-intro h2{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif}
@media(max-width:699px){.page:has(.home-hero) .school-intro>.eyebrow{font-family:'Playfair Display','Noto Sans JP',serif;font-size:20px;font-weight:500;letter-spacing:.02em;color:var(--gold)}}

/* LIVE & OPEN MIC: a flat event layout using the existing CMS date, image, and text fields. */
.page:has(.live-events) .section-title{margin-bottom:0}
.live-intro{margin:clamp(42px,6vw,68px) auto clamp(54px,7vw,82px);text-align:center}
.live-intro p,.live-event-date,.live-event-description{font-family:'Noto Serif JP','Noto Sans JP',serif}
.live-intro p{margin:0;color:var(--gold);font-size:clamp(18px,2vw,24px);line-height:1.7}
.live-short-rule{display:block;width:76px;height:1px;margin:18px auto 0;background:var(--orange)}
.live-events{width:min(100%,1040px);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,64px)}
.live-event{display:flex;flex-direction:column;align-items:stretch;margin:0;text-align:center;background:transparent}
.live-event h2{margin:0;color:var(--orange);font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-size:clamp(17px,1.7vw,21px);font-weight:400;letter-spacing:.06em;line-height:1.4;text-align:center}
.live-event-date{display:flex;align-items:center;justify-content:center;min-height:3.2em;margin:8px 0 0;color:#ffffff;font-size:clamp(25px,2.7vw,33px);font-weight:500;line-height:1.45;text-align:center}
.live-event .live-short-rule{margin-top:14px}
.live-event-image{height:auto;aspect-ratio:4/3;margin-top:28px;border-radius:0}
.live-event-image img{border-radius:0}
.live-event-description{width:min(100%,430px);margin:24px auto 0;color:#ffffff;font-size:clamp(16px,1.5vw,19px);font-weight:400;line-height:2;text-align:center;white-space:pre-line}
.live-inquiry{width:min(100%,1040px);margin:clamp(50px,6vw,72px) auto 0;padding-top:clamp(40px,5vw,56px);border-top:1px dashed var(--orange);color:var(--gold);font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-size:clamp(16px,1.6vw,20px);line-height:1.9;text-align:center}
@media(min-width:700px){.page:has(.live-events){display:block;max-width:1040px}.page:has(.live-events)>.section-title{grid-column:auto;margin-bottom:0;text-align:center}}
@media(min-width:700px){.page:has(.live-events):not(:has(.home-top))>.common-access{margin-top:clamp(72px,8vw,104px)}}
@media(max-width:699px){.live-intro{margin:42px auto 54px}.live-events{display:block}.live-event{margin:0 0 58px}.live-event:last-child{margin-bottom:0}.live-event-image{aspect-ratio:16/9;max-height:185px}.live-event-description{max-width:100%;font-size:16px}.live-inquiry{margin-top:50px;padding-top:40px;font-size:16px}.page:has(.live-events):not(:has(.home-top))>.common-access{margin-top:64px}}

/* MENU public hierarchy: reuse the LIVE subtitle treatment without touching the category data or bindings. */
.page:has(.menu-intro)>.section-title{margin-bottom:0}
.menu-intro{margin-bottom:clamp(38px,5vw,58px)}
.page:has(.menu-intro)>.section-title::after{content:none}
.menu-charge{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,24px);width:fit-content;max-width:100%;margin:0 auto clamp(30px,4vw,44px);padding:12px 22px;border:1px solid var(--orange);border-radius:0;background:transparent;color:var(--gold);font-family:'Noto Serif JP','Noto Sans JP',serif;text-align:center}
.menu-charge span,.menu-charge small{font-size:inherit;font-weight:500;letter-spacing:.07em;line-height:1.5}
.menu-charge strong{font-size:clamp(34px,4vw,46px);font-weight:500;line-height:1.05}
.page:has(.menu-intro)>.tabs{position:relative;display:block;overflow-x:auto;overflow-y:hidden}
.page:has(.menu-intro)>.tabs::after{content:none}
.page:has(.menu-intro)>.tabs .tabs-track{position:relative;display:inline-flex;width:max-content;gap:clamp(18px,2.2vw,32px)}
.page:has(.menu-intro)>.tabs .tabs-track::after{content:'';position:absolute;right:0;bottom:0;left:0;z-index:0;height:0;border-top:.5px solid var(--gold);pointer-events:none}
.page:has(.menu-intro)>.tabs button{position:relative;z-index:1;font-family:'Noto Serif JP','Noto Sans JP',serif}
.page:has(.menu-intro)>.tabs button.active{z-index:2}
.page:has(.menu-intro) .menu-items .menu-item>span:first-child{font-size:clamp(27px,2.35vw,31px)}
@media(min-width:700px){
  .page:has(.menu-intro) .menu-items .menu-item{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;row-gap:6px}
  .page:has(.menu-intro) .menu-items .menu-item>span:first-child{display:contents;font-size:clamp(21px,1.7vw,23px)}
  .page:has(.menu-intro) .menu-items .menu-item>.price{grid-column:2;grid-row:1;align-self:start;white-space:nowrap}
  .page:has(.menu-intro) .menu-items .menu-item>span:first-child .copy{display:block;grid-column:1/-1;grid-row:2;margin:0;color:var(--muted);font-size:18px;font-weight:500;line-height:1.75;text-align:left}
}
@media(max-width:699px){.page:has(.menu-intro)>.section-title{margin-bottom:0}.menu-intro{margin-bottom:38px}.menu-charge{gap:10px;width:fit-content;max-width:100%;margin-bottom:30px;padding:10px 14px}.menu-charge span,.menu-charge small{font-size:clamp(11px,3.1vw,13px)}.menu-charge strong{font-size:28px}.page:has(.menu-intro) .menu-items .menu-item{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:18px 0}.page:has(.menu-intro) .menu-items .menu-item>span:first-child{display:block;min-width:0;font-size:clamp(20px,5.25vw,23px)}.page:has(.menu-intro) .menu-items .menu-item>span:first-child .copy{display:block;max-width:100%;margin:6px 0 0;font-size:clamp(16px,4.25vw,18px);line-height:1.75;word-break:normal;overflow-wrap:break-word}.page:has(.menu-intro) .menu-items .menu-item>.price{display:block;align-self:flex-end;min-width:0;margin-top:9px;text-align:right;white-space:normal}}

/* Public NEWS: grid presentation only; CMS data and article detail remain unchanged. */
.page:has(.news-public-list)>.section-title{margin-bottom:0;text-align:center}
.news-intro{margin-bottom:clamp(52px,7vw,78px)}
.news-public-list{width:min(100%,1040px);margin:0 auto}
.news-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(22px,3vw,40px);row-gap:clamp(38px,5vw,64px)}
.news-grid-item{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.news-grid-image{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:0;background:#211711}
.news-grid-image-empty{background:linear-gradient(135deg,#38261c,#1c1714)}
.news-grid-title,.news-grid-date{font-family:'Noto Serif JP','Noto Sans JP',serif}
.news-grid-title{display:block;min-height:3em;margin-top:13px;color:var(--cream);font-size:clamp(20px,1.75vw,24px);font-weight:500;line-height:1.5}
.news-grid-date{display:block;margin-top:7px;color:var(--orange);font-size:clamp(14px,1.15vw,16px);line-height:1.5}
.news-pagination{display:flex;justify-content:center;align-items:center;gap:18px;width:min(100%,1040px);margin:clamp(44px,5vw,64px) auto 0;padding-bottom:clamp(44px,6vw,72px)}
.news-pagination button{padding:2px 0;border:0;background:transparent;color:var(--gold);font-family:'Noto Serif JP','Noto Sans JP',serif;font-size:18px;line-height:1.4;cursor:pointer}
.news-pagination button.active{font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.news-pagination button:hover{color:var(--cream)}
.article>.button.ghost{padding:2px 0;border:0;border-radius:0;background:transparent;color:var(--gold);font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-weight:400}
.article .date,.article h1{font-family:'Noto Serif JP','Noto Sans JP',serif}.article .date{color:var(--orange)}.article .article-body{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;white-space:pre-line}
@media(max-width:699px){.news-intro{margin-bottom:50px}.news-public-list{width:100%}.news-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:34px}.news-grid-title{min-height:0;margin-top:10px;font-size:clamp(17px,5vw,21px);line-height:1.45}.news-grid-date{margin-top:5px;font-size:13px}.news-pagination{gap:16px;margin-top:42px;padding-bottom:56px}.news-pagination button{font-size:17px}}
@media(max-width:340px){.news-public-grid{grid-template-columns:1fr}}

/* HOME GALLERY: the existing four CMS photos span the same reading column as CONCEPT and NOTICE. */
.page:has(.home-hero) .home-after-top .home-gallery{width:100%;max-width:none;margin-left:0;margin-right:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
.page:has(.home-hero) .home-after-top .home-gallery img{width:100%;min-width:0;aspect-ratio:1/1;object-fit:cover}

/* LIVE descriptions use the same body face and left reading edge as HOME. */
.live-event-description{width:100%;margin:24px 0 0;font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;text-align:left}
.live-event-date{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif}

/* Only HOME photos become sharp; their dimensions, crop, and CMS sources stay intact. */
.page:has(.home-hero) .home-hero .home-header-image,.page:has(.home-hero) .home-gallery,.page:has(.home-hero) .home-gallery img,.page:has(.home-hero) .home-mosaic .home-photos,.page:has(.home-hero) .home-mosaic .home-photos img{border-radius:0}

/* Match CONCEPT's existing rule thickness to the NOTICE rule without moving either section. */
.page:has(.home-hero) .home-after-top .home-concept::after{height:1px}

/* Mobile navigation appearance only: existing toggle, links, and outside-tap close behavior remain unchanged. */
@media(max-width:699px){
  :root{--mobile-visual-viewport-height:100vh;--mobile-visual-viewport-height:100dvh;--mobile-panel-background:rgba(34,22,16,.75);--mobile-panel-bottom-bleed:2px}
  .site-header,.bottom-nav{--mobile-panel-header-height:max(148px,calc(27vw + 38px));--mobile-panel-height:var(--mobile-visual-viewport-height);box-sizing:border-box;width:max(30vw,96px);background:var(--mobile-panel-background)}
  .site-header{--mobile-logo-top:44px;height:var(--mobile-panel-header-height);padding:0;overflow:visible}
  .site-header .brand{position:absolute;top:var(--mobile-logo-top);right:8px;left:8px;display:block;text-align:center}
  .site-header .brand-logo{display:block;width:90%;max-height:96px;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto}
  .bottom-nav{inset:var(--mobile-panel-header-height) auto auto 0;height:calc(var(--mobile-panel-height) - var(--mobile-panel-header-height) + var(--mobile-panel-bottom-bleed));min-height:0;padding:9px 8px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;backdrop-filter:none}
  .bottom-nav .icon-button{width:auto;margin-top:auto;padding:8px 3px 4px;align-self:flex-end;background:transparent;box-shadow:none;color:var(--muted);font-size:14px;line-height:1}
  .mobile-nav-toggle{position:fixed;top:calc(env(safe-area-inset-top) + 8px);left:calc(env(safe-area-inset-left) + 8px);z-index:23;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--gold);isolation:isolate}
  .mobile-nav-toggle::before{content:'';position:absolute;inset:7px;z-index:0;border-radius:2px;background:rgba(20,14,10,.4);pointer-events:none}
  .mobile-nav-toggle span{position:relative;z-index:1;width:20px;height:1.5px;border-radius:0}
  body.mobile-nav-open{overflow:visible}
  .mobile-nav-overlay{inset:0 auto auto 0;box-sizing:border-box;width:100%;height:calc(var(--mobile-visual-viewport-height) + var(--mobile-panel-bottom-bleed));pointer-events:none}
}

/* HOME: retain the existing rule, but place it after the four-photo gallery. */
.page:has(.home-hero) .home-after-top .home-concept{padding-bottom:0}
.page:has(.home-hero) .home-after-top .home-concept::after{content:none}
.page:has(.home-hero) .home-after-top .home-gallery{position:relative;padding-bottom:20px}
.page:has(.home-hero) .home-after-top .home-gallery::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:rgba(255,199,125,.35)}

/* Public typography adjustments only: preserve the existing size, color, and placement of LIVE dates. */
.live-event-date{font-family:'Noto Serif JP','Noto Sans JP',serif}

/* The price remains dominant inside CHARGE, without overpowering its supporting labels. */
.menu-charge strong{font-size:clamp(30px,3.45vw,40px)}
@media(max-width:699px){.menu-charge strong{font-size:24px}}

/* The shared navigation offset is necessary on other pages, but HOME's full-bleed HERO begins at the viewport edge. */
@media(min-width:700px){.site:has(.home-hero){padding-top:0}.page:has(.home-hero) .home-hero-copy{padding:calc(var(--public-nav-height) + 16px) 0 32px}}
@media(max-width:699px){.site:has(.home-hero){padding-top:0}}

/* Public NEWS article detail: a restrained reading column.  This only affects
   the markup created by article(); list, CMS, and stored records are unchanged. */
.news-article{width:100%;margin-right:auto;margin-left:auto;padding:clamp(32px,5vw,54px) 0 clamp(54px,7vw,80px)}
.news-article>.news-article-back{display:inline-flex;padding:2px 0;border:0;border-radius:0;background:transparent;color:var(--gold);font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-size:15px;font-weight:400;line-height:1.7;text-align:left;cursor:pointer}
.news-article>.date{display:block;margin:clamp(28px,4vw,38px) 0 8px;font-family:'Noto Serif JP','Noto Sans JP',serif;font-size:14px;line-height:1.6;color:var(--orange)}
.news-article>h1{margin:0;font-family:'Noto Serif JP','Noto Sans JP',serif;font-size:29px;font-weight:500;line-height:1.35;color:var(--cream)}
.news-article-rule{display:block;width:92px;height:1px;margin:17px 0 28px;background:var(--orange)}
.news-article>.preview{display:block;width:100%;height:auto;max-height:none;aspect-ratio:12/5;object-fit:cover;margin:0 auto 30px;border-radius:0;box-shadow:none}
.news-article>.article-body{width:100%;margin:0;color:var(--cream);font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-size:16px;line-height:1.8;text-align:left;white-space:pre-line;overflow-wrap:break-word}
.news-article>.article-body img,.news-article>.gallery>img{display:block;width:min(328px,100%);max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;margin:20px auto;border-radius:0;box-shadow:none}
.news-article>.gallery{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:28px}
.news-article>.gallery:empty{display:none}
.news-article>.gallery>img{margin:0}
.news-article>.gallery>img+img{margin-top:20px}
.news-article>.news-article-rule-bottom{margin:40px 0 20px}
.news-article>.news-article-rule-bottom+.news-article-back{margin:0}
@media(min-width:700px){#site>.news-article{width:min(100%,774px);max-width:774px}.news-article>h1{font-size:34px}.news-article>.article-body{font-size:18px}}
@media(max-width:699px){.news-article{width:100%;padding:30px 0 54px}.news-article>.date{margin-top:26px}.news-article>h1{font-size:27px}.news-article-rule{margin-top:15px;margin-bottom:24px}.news-article>.preview{width:100%;max-width:none;margin-bottom:30px}.news-article>.article-body{font-size:16px;line-height:1.8}.news-article>.article-body img,.news-article>.gallery>img{width:44%;margin-top:20px;margin-bottom:20px}.news-article>.gallery>img{margin:0}.news-article>.gallery>img+img{margin-top:20px}.news-article>.news-article-rule-bottom{margin-top:40px}}
