:root{--black:#0a0a0a;--gold:#b39542;--white:#fff;--paper:#f6f5f1;--text:#151515;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;background:#fff}a{color:inherit;text-decoration:none}.site-header{height:82px;position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - var(--max))/2));color:#fff;transition:.25s;background:linear-gradient(#0009,transparent)}.site-header.scrolled{background:#fff;color:#111;box-shadow:0 3px 18px #0001}.brand{display:flex;gap:10px;align-items:center}.brand strong{font-size:32px;font-style:italic}.brand span{font-size:9px;letter-spacing:.08em;line-height:1.25}.desktop-nav{display:flex;align-items:center;gap:24px;font-size:12px;letter-spacing:.08em}.desktop-nav ul{list-style:none;display:flex;gap:24px;padding:0;margin:0}.gold-btn{display:inline-block;background:var(--gold);color:#fff;padding:15px 28px;font-weight:700;letter-spacing:.06em}.gold-btn.small{padding:12px 20px}.outline-btn{display:inline-block;border:1px solid var(--gold);color:#8d742d;padding:13px 22px;font-weight:600;font-size:13px}.menu-toggle{display:none;background:#111;border:0;width:46px;height:46px;padding:12px}.menu-toggle span{display:block;height:2px;background:#fff;margin:5px}.mobile-menu{display:none}.hero{height:760px;position:relative;color:#fff;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background:linear-gradient(120deg,#111,#333)}.hero-bg:after{content:"HERO PHOTO";position:absolute;right:10%;top:48%;font-size:52px;color:#ffffff12;font-weight:900}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0006 48%,#0001)}.hero-copy{position:relative;width:min(var(--max),calc(100% - 56px));margin:auto}.hero-copy h1{font-size:58px;line-height:1.02;letter-spacing:.01em;margin:18px 0}.hero-copy>p:first-child{font-family:serif;font-size:20px;line-height:1.7}.hero-sub{font-size:20px;letter-spacing:.16em}.section{max-width:var(--max);margin:auto;padding:84px 28px}.section.alt{max-width:none;background:var(--paper);padding-left:max(28px,calc((100vw - var(--max))/2));padding-right:max(28px,calc((100vw - var(--max))/2))}.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.photo.placeholder{height:420px;background:#222;position:relative}.photo.placeholder:after{content:"ABOUT PHOTO";color:#fff3;position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:34px}.eyebrow{font-size:13px;letter-spacing:.12em;color:#766224}.section h2{font-size:36px;margin:8px 0 22px}.section p{line-height:1.9}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd;border-left:1px solid #ddd}.feature-grid article{padding:30px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff}.feature-grid b{color:var(--gold);font-size:22px}.feature-grid h3{font-size:16px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #e3e3e3;background:#fff}.card img{width:100%;height:180px;object-fit:cover}.card-body{padding:20px}.card h3{font-size:22px}.price{font-size:18px;font-weight:700}.status{display:block;text-align:center;background:var(--gold);color:#fff;padding:9px}.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.staff-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:none}.staff-grid h3{margin-bottom:3px}.staff-grid p{margin-top:0;font-size:13px}.news-band{max-width:none;background:#0d0d0d;color:#fff;padding-left:max(28px,calc((100vw - var(--max))/2));padding-right:max(28px,calc((100vw - var(--max))/2))}.news-row{max-width:var(--max);display:grid;grid-template-columns:140px 1fr 30px;padding:17px 0;border-top:1px solid #ffffff30}.movie-placeholder{height:420px;background:#111;color:#ffffff55;display:grid;place-items:center;font-size:30px;font-weight:800}.cta{text-align:center;background:var(--gold);padding:76px 28px;color:#fff}.cta h2{font-size:34px}.cta .gold-btn{background:#111}.site-footer{background:#080808;color:#fff;padding:55px max(28px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between}.empty{color:#777}.mobile-menu{position:fixed;z-index:100;inset:0;background:#0b0b0b;color:#fff;padding:80px 32px 36px}.mobile-menu.open{display:block}.mobile-menu ul{list-style:none;padding:0}.mobile-menu li{border-bottom:1px solid #ffffff25}.mobile-menu li a{display:block;padding:18px 0;font-size:22px}.menu-close{position:absolute;right:25px;top:20px;background:none;border:0;color:#fff;font-size:42px}.social-links{display:flex;gap:20px;margin-top:30px;font-size:13px}.menu-open{overflow:hidden}@media(max-width:800px){.site-header{height:68px;padding:0 18px}.desktop-nav{display:none}.menu-toggle{display:block}.hero{height:620px}.hero-copy{width:calc(100% - 40px)}.hero-copy h1{font-size:37px}.hero-copy>p:first-child{font-size:16px}.hero-sub{font-size:15px}.section{padding:58px 20px}.section.alt{padding:58px 20px}.split{grid-template-columns:1fr;gap:28px}.photo.placeholder{height:280px}.section h2{font-size:29px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-grid article{padding:20px}.cards{display:flex;overflow:auto;scroll-snap-type:x mandatory}.card{min-width:85%;scroll-snap-align:start}.staff-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:center}.news-row{grid-template-columns:90px 1fr 20px;font-size:13px}.movie-placeholder{height:240px}.cta h2{font-size:27px}.site-footer{display:block}.site-footer small{display:block;margin-top:25px}}
.card-photo-fallback,.staff-photo-fallback,.map-placeholder{background:#171717;color:#ffffff33;display:grid;place-items:center;font-weight:800;letter-spacing:.12em}.card-photo-fallback{height:180px}.staff-photo-fallback{aspect-ratio:4/3}.feature-grid article p{font-size:12px;line-height:1.65;color:#666}.news-row{grid-template-columns:120px 90px 1fr 30px;align-items:center}.news-row em{font-style:normal;color:var(--gold);font-size:11px}.schedule-list{border-top:1px solid #ddd}.schedule-list article{display:grid;grid-template-columns:140px 100px 1fr;gap:20px;padding:18px 4px;border-bottom:1px solid #ddd}.schedule-list span{color:#8d742d}.movie-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.movie-card{position:relative;background:#111;color:#fff;min-height:220px;overflow:hidden}.movie-card img{width:100%;height:220px;object-fit:cover;opacity:.65}.movie-card span{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);font-size:40px}.movie-card strong{position:absolute;left:18px;bottom:16px;right:18px}.map-placeholder{min-height:360px}.partner-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;align-items:center}.partner-grid a{min-height:90px;border:1px solid #eee;display:grid;place-items:center;padding:15px;text-align:center}.partner-grid img{max-width:100%;max-height:70px;width:auto;height:auto;object-fit:contain;filter:none}
@media(max-width:800px){.news-row{grid-template-columns:82px 65px 1fr 16px;gap:6px}.news-row em{font-size:9px}.schedule-list article{grid-template-columns:100px 70px 1fr;gap:8px;font-size:12px}.movie-grid{display:flex;overflow:auto}.movie-card{min-width:85%}.partner-grid{grid-template-columns:repeat(2,1fr)}.map-placeholder{min-height:240px}}
/* v0.2.1 */
.hero-bg{background-image:linear-gradient(120deg,#111,#333);background-size:cover;background-position:center}.hero-bg[style]{background-image:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.05)),var(--hero-pc);background-size:cover;background-position:center}.photo:not(.placeholder){height:420px;overflow:hidden;background:#111}.about-photo{width:100%;height:100%;object-fit:cover}.desktop-nav>.menu{display:flex!important;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.desktop-nav>.menu li{margin:0}.desktop-nav>.menu a{display:block;color:inherit;white-space:nowrap}.admin-bar .site-header{top:32px}@media(max-width:800px){.hero-bg[style]{background-image:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.12)),var(--hero-sp,var(--hero-pc))}.admin-bar .site-header{top:46px}.mobile-menu>.menu{display:block;list-style:none;margin:0;padding:0}}@media(min-width:783px) and (max-width:800px){.admin-bar .site-header{top:32px}}
/* v0.3.0 */
.member-benefits{border-top:1px solid #eee}.member-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.member-grid article{border:1px solid #e4e1d8;padding:24px 18px;min-height:180px;background:#fff}.member-grid article span{font-size:10px;letter-spacing:.14em;color:var(--gold);font-weight:800}.member-grid h3{margin:10px 0;font-size:18px}.member-grid p{font-size:12px;line-height:1.7;color:#666}.instagram-placeholder{min-height:260px;border:1px solid #dedbd2;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.instagram-placeholder strong{font-size:28px}.instagram-placeholder p{max-width:520px}.hero-bg[style]:after{display:none}.section-head .outline-btn{white-space:nowrap}
@media(max-width:800px){.member-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory}.member-grid article{min-width:78%;scroll-snap-align:start}.instagram-placeholder{min-height:220px}.section-head{gap:12px}.section-head .outline-btn{font-size:11px;padding:10px 12px}}
/* v0.4.0 */
section[id]{scroll-margin-top:82px}.staff-profile{font-size:12px!important;color:#666;line-height:1.65!important}.movie-section .movie-grid{align-items:start}.movie-item h3{font-size:16px;margin:12px 0 0}.video-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#111;overflow:hidden}.video-wrap iframe,.video-wrap video{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}.map-box{min-height:360px;background:#171717}.map-box iframe{display:block;width:100%;height:360px;border:0}.cards .card-body p{margin:.4em 0;line-height:1.55}.card .status{margin-top:16px}.staff-grid article{min-width:0}.staff-grid .staff-photo-fallback{background:#171717}.hero-copy .gold-btn{margin-top:8px}
@media(max-width:800px){section[id]{scroll-margin-top:68px}.brand strong{font-size:27px}.brand span{font-size:8px}.hero{height:min(700px,100svh);min-height:580px}.hero-copy h1{font-size:clamp(34px,10vw,46px);line-height:1.06}.hero-copy .gold-btn{width:100%;max-width:300px;text-align:center}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:auto}.staff-grid{grid-template-columns:1fr 1fr;gap:14px}.staff-grid h3{font-size:16px}.member-grid article{min-width:82%}.movie-grid{display:block}.movie-item{margin-bottom:28px}.movie-card{display:block;min-width:0;min-height:210px}.map-box,.map-box iframe{min-height:280px;height:280px}.access-split .map-box{order:2}.access-split>div:last-child{order:1}.cta{padding:60px 20px}.cta .gold-btn{width:100%;max-width:300px}.site-footer{padding-top:42px;padding-bottom:42px}}
/* v0.4.1 - smartphone layout polish */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:800px){
  .site-header{width:100%;max-width:100vw}
  .hero{height:auto;min-height:620px;padding:90px 0 54px}
  .hero-copy{width:calc(100% - 40px);max-width:100%;margin:auto}
  .hero-copy h1{font-size:clamp(32px,9.2vw,40px);line-height:1.08;letter-spacing:0;overflow-wrap:normal;word-break:keep-all}
  .hero-copy>p:first-child{font-size:15px;line-height:1.65;margin-bottom:14px}
  .hero-sub{font-size:14px;letter-spacing:.12em;margin:18px 0}
  .hero-copy .gold-btn{max-width:none;width:100%;padding:16px 18px}

  .section,.section.alt{width:100%;max-width:100%;padding:52px 20px}
  .split{gap:30px}
  #about{padding-top:52px;padding-bottom:58px}
  #about .photo.placeholder,.photo:not(.placeholder){height:auto;aspect-ratio:4/3}
  #about h2{margin-bottom:18px}
  #about p{line-height:1.75}

  #why{padding-top:54px;padding-bottom:54px}
  .feature-grid{width:100%;grid-template-columns:1fr}
  .feature-grid article{padding:22px 20px;min-height:0}
  .feature-grid b{font-size:21px}
  .feature-grid h3{margin:12px 0 8px;font-size:16px}
  .feature-grid article p{margin:0;font-size:12px;line-height:1.65}

  .member-benefits{overflow:hidden}
  .member-grid{display:grid;width:100%;grid-template-columns:1fr;gap:10px;overflow:visible;scroll-snap-type:none}
  .member-grid article{width:100%;min-width:0;max-width:100%;min-height:0;padding:22px 20px;scroll-snap-align:none}
  .member-grid h3{font-size:18px;margin:8px 0}
  .member-grid p{margin:0;font-size:12px;line-height:1.65}

  #class{padding-top:54px;padding-bottom:54px;min-height:0}
  #class .cards{margin-top:8px}
  #class .cards>.empty{margin:8px 0 0}
  .cards{max-width:100%}
  .card{min-width:min(84vw,340px)}

  #staff{padding-top:54px;padding-bottom:58px}
  .staff-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .staff-grid article{width:100%;min-width:0}
  .staff-grid img,.staff-photo-fallback{width:100%;aspect-ratio:4/3}
  .staff-grid h3{font-size:16px;margin:12px 0 4px}
  .staff-grid p{font-size:12px;line-height:1.55}

  .movie-section{padding-top:54px;padding-bottom:58px}
  .movie-placeholder{width:100%;height:auto;min-height:220px;padding:28px 20px;font-size:17px;line-height:1.55;text-align:center;overflow-wrap:anywhere}
  .movie-grid,.movie-item,.video-wrap{max-width:100%}

  #access{padding-top:54px;padding-bottom:54px}
  .access-split{gap:28px}
  .map-box,.map-box iframe{width:100%;max-width:100%;min-height:250px;height:250px}
  .map-placeholder{min-height:250px;padding:24px 18px;text-align:center;font-size:13px;line-height:1.6}

  .cta{padding:54px 20px}
  .cta p{margin-top:0}
  .cta h2{font-size:26px;line-height:1.45;margin:18px auto 28px;max-width:330px}
  .cta .gold-btn{max-width:none;width:100%}
  .site-footer{padding:38px 28px;overflow:hidden}
  .site-footer strong{font-size:16px;line-height:1.45}
  .site-footer p{font-size:13px;line-height:1.55}
  .site-footer small{font-size:11px}
}
@media(max-width:390px){
  .brand{gap:8px}.brand strong{font-size:25px}.brand span{font-size:7.5px}
  .hero-copy h1{font-size:32px}
  .section h2{font-size:28px}
}
/* v0.5.0 sub pages */
.subpage{padding-top:110px;background:#fff;color:#111;min-height:70vh}.subhero{max-width:1180px;margin:0 auto;padding:90px 42px 54px;border-bottom:1px solid #ddd}.subhero h1,.article-page h1{font-size:clamp(38px,5vw,72px);line-height:1.12;margin:10px 0 20px;letter-spacing:-.03em}.subhero>p:last-child{color:#666;max-width:720px}.subcontent,.article-page{max-width:1180px;margin:0 auto;padding:60px 42px 110px}.news-row.light{color:#111;border-color:#ddd}.news-row.light em{color:#8a6d16;border-color:#b39542}.navigation.pagination{margin-top:44px}.nav-links{display:flex;gap:8px;align-items:center}.page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #ddd;text-decoration:none;color:#111}.page-numbers.current{background:#111;color:#fff;border-color:#111}.article-page{max-width:900px}.article-meta{display:flex;gap:18px;align-items:center;color:#777}.article-meta span{border:1px solid #b39542;color:#8a6d16;padding:5px 10px;font-size:12px}.article-image img{width:100%;height:auto;margin:30px 0}.article-body{font-size:17px;line-height:2;margin:40px 0 60px}.article-body img{max-width:100%;height:auto}.archive-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-staff{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-staff article{margin-bottom:48px}.staff-role,.staff-en{margin:.25em 0}.staff-en{color:#888;font-size:13px}.staff-career{margin-top:16px;padding-top:16px;border-top:1px solid #ddd;color:#555;line-height:1.8}.card-note{margin-top:18px;color:#666;line-height:1.7}
@media(max-width:780px){.subpage{padding-top:84px}.subhero{padding:56px 22px 36px}.subhero h1,.article-page h1{font-size:40px}.subcontent,.article-page{padding:38px 22px 76px}.archive-cards{grid-template-columns:1fr}.archive-staff{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.news-row.light{grid-template-columns:86px 1fr auto}.news-row.light em{display:none}.article-body{font-size:16px;line-height:1.9}}

/* v0.6.0 archive links + detail pages */
.archive-card-link,.archive-staff-link{display:block;color:inherit;text-decoration:none;height:100%}.archive-link-card,.archive-staff-card{transition:transform .2s ease,box-shadow .2s ease}.archive-link-card:hover,.archive-staff-card:hover{transform:translateY(-3px)}.detail-link{display:inline-block;margin-top:18px;color:#8a6d16;font-size:12px;font-weight:700;letter-spacing:.06em}.detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:64px;align-items:start}.detail-hero-image img{width:100%;height:auto;display:block}.detail-side{position:sticky;top:130px;border:1px solid #dedbd2;padding:28px;background:#faf9f6}.detail-side h2{margin:0 0 20px;font-size:22px}.detail-table{margin:0}.detail-table>div{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:13px 0;border-top:1px solid #ddd}.detail-table dt{color:#777;font-size:12px}.detail-table dd{margin:0;font-weight:600}.detail-cta{display:block;text-align:center;margin-top:24px}.detail-note{border-top:1px solid #ddd;padding-top:26px}.detail-note h2,.staff-detail-copy h2{font-size:24px}.back-area{max-width:1180px;margin:0 auto;padding:0 42px 100px}.staff-detail-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:70px;align-items:start}.staff-detail-photo img,.staff-detail-photo .staff-photo-fallback{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.staff-detail-copy>section{margin-bottom:44px}.staff-detail-copy>section>p:last-child{line-height:1.9;color:#444}.detail-en{font-size:15px;letter-spacing:.08em;margin:0 0 34px}.staff-career-detail{border-top:1px solid #ddd;padding-top:30px}
@media(max-width:780px){.detail-layout,.staff-detail-layout{grid-template-columns:1fr;gap:34px}.detail-side{position:static;padding:22px}.detail-table>div{grid-template-columns:82px 1fr}.back-area{padding:0 22px 72px}.staff-detail-photo{max-width:520px}.archive-link-card:hover,.archive-staff-card:hover{transform:none}}

/* v0.7.0 */
.card-link,.staff-link{display:block;color:inherit;text-decoration:none;height:100%}
.card-link:hover h3,.staff-link:hover h3{text-decoration:underline;text-decoration-color:#b39542;text-underline-offset:5px}

/* v0.10.0: three vertically stacked HERO images */
.hero-triple{overflow:hidden}
.hero-stack{position:absolute;inset:0;display:grid;grid-template-rows:repeat(3,1fr);background:#171717}
.hero-panel{min-height:0;background:#222 center/cover no-repeat}
.hero-panel:empty:not([style]){background:linear-gradient(120deg,#111,#333)}
.hero-triple .hero-shade{z-index:1}
.hero-triple .hero-copy{z-index:2}
@media(max-width:800px){
 .hero-triple{height:min(700px,100svh);min-height:580px}
 .hero-stack{grid-template-rows:repeat(3,1fr)}
}

/* v0.11.0 public archive/detail finish */
.subpage{padding-top:82px;background:#fff;min-height:80vh}
.subhero{background:#0b0b0b;color:#fff;padding:82px max(28px,calc((100vw - var(--max))/2)) 68px}
.subhero .eyebrow{color:var(--gold);font-weight:700;letter-spacing:.16em;margin:0 0 10px}
.subhero h1{font-size:clamp(38px,5vw,62px);line-height:1.08;margin:0 0 18px}
.subhero>p:last-child{max-width:720px;color:#ddd;margin-bottom:0}
.subcontent,.article-page,.back-area{width:min(var(--max),calc(100% - 56px));margin-left:auto;margin-right:auto}
.subcontent{padding-top:68px;padding-bottom:80px}.back-area{padding:0 0 80px}
.archive-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.archive-link-card{overflow:hidden;transition:.2s}.archive-link-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #00000012}
.archive-card-link{display:block;height:100%;position:relative;padding-bottom:48px}.archive-card-link>img,.card-photo-fallback{width:100%;height:230px;object-fit:cover}
.card-photo-fallback,.staff-photo-fallback{background:#171717;color:#ffffff35;display:grid;place-items:center;font-weight:900;letter-spacing:.12em}
.archive-link-card h2{font-size:23px;margin:0 0 12px}.archive-link-card .card-body p{margin:7px 0;line-height:1.6}
.detail-link{display:block;color:#8a7027;font-weight:700;font-size:13px;letter-spacing:.04em}
.archive-card-link>.detail-link{position:absolute;left:20px;bottom:18px}
.archive-staff{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.archive-staff-card{border:1px solid #e2e2e2;background:#fff;transition:.2s}.archive-staff-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #00000012}
.archive-staff-link{display:block;padding-bottom:24px}.archive-staff-card img,.archive-staff-card .staff-photo-fallback{width:100%;aspect-ratio:4/3;object-fit:cover;filter:none}
.archive-staff-card h2,.archive-staff-card p,.archive-staff-card .staff-career,.archive-staff-card .detail-link{margin-left:20px;margin-right:20px}
.archive-staff-card h2{font-size:23px;margin-top:20px;margin-bottom:4px}.staff-role{color:#765f20;font-weight:700}.staff-en{font-size:12px;letter-spacing:.1em;color:#777}
.staff-profile,.staff-career{font-size:14px;line-height:1.75}.archive-staff-card .detail-link{margin-top:20px}
.news-archive{max-width:var(--max)}.news-row.light{display:grid;grid-template-columns:120px 120px 1fr 30px;align-items:center;gap:16px;padding:22px 8px;border-bottom:1px solid #ddd;color:#111}
.news-row.light:first-of-type{border-top:1px solid #ddd}.news-row.light em{font-style:normal;color:#8a7027;font-size:12px;font-weight:700}.news-row.light b{text-align:right}
.news-row.light:hover span{color:#8a7027}.nav-links{display:flex;gap:8px;justify-content:center;margin-top:42px}.page-numbers{padding:9px 13px;border:1px solid #ddd}.page-numbers.current{background:#111;color:#fff;border-color:#111}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:54px;align-items:start}
.detail-hero-image img{width:100%;height:auto;display:block}.article-body{font-size:16px;line-height:2}.article-body p{margin:0 0 1.4em}
.detail-side{border:1px solid #ddd;padding:26px;position:sticky;top:110px}.detail-side h2{margin-top:0}
.detail-table{margin:0}.detail-table>div{display:grid;grid-template-columns:90px 1fr;gap:12px;border-top:1px solid #e5e5e5;padding:13px 0}.detail-table dt{font-size:12px;color:#777}.detail-table dd{margin:0;font-weight:600}
.detail-side .status{display:inline-block;padding:7px 14px}.detail-cta{display:block;text-align:center;margin-top:24px}
.detail-note{margin-top:36px;padding:24px;background:#f6f5f1}.outline-btn{display:inline-block;border:1px solid #111;padding:11px 18px;font-weight:700}
.staff-detail-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.3fr);gap:58px;align-items:start}.staff-detail-photo img{width:100%;height:auto}.staff-detail-copy section{margin-bottom:42px}.detail-en{font-size:13px}
.article-page{max-width:900px;padding-top:72px;padding-bottom:90px}.article-page header{margin-bottom:36px}.article-page h1{font-size:clamp(32px,5vw,50px);line-height:1.25;margin:16px 0}.article-meta{display:flex;gap:16px;align-items:center;color:#666}.article-meta span{background:#111;color:#fff;padding:5px 10px;font-size:12px}.article-image img{width:100%;height:auto;margin-bottom:42px}
@media(max-width:800px){
 .subpage{padding-top:68px}.subhero{padding:58px 24px 48px}.subcontent,.article-page,.back-area{width:calc(100% - 40px)}.subcontent{padding-top:42px;padding-bottom:56px}
 .archive-cards,.archive-staff{grid-template-columns:1fr}.archive-card-link>img,.card-photo-fallback{height:auto;aspect-ratio:16/10}
 .news-row.light{grid-template-columns:88px 1fr 24px;gap:8px;padding:18px 2px}.news-row.light em{grid-column:1}.news-row.light span{grid-column:2}.news-row.light b{grid-column:3;grid-row:1/3}.news-row.light time{grid-column:1}.news-row.light em{grid-row:2}
 .detail-layout,.staff-detail-layout{grid-template-columns:1fr;gap:34px}.detail-side{position:static}.article-page{padding-top:48px}
}

/* v0.11.1: compact archive headers so content is visible without a full-screen scroll */
.subhero{padding-top:46px!important;padding-bottom:38px!important;min-height:0!important}
.subhero h1{font-size:clamp(32px,4vw,50px)!important;margin-bottom:10px!important}
.subhero>p:last-child{font-size:14px;line-height:1.7}
.subcontent{padding-top:38px!important}
@media(max-width:800px){
 .subhero{padding:34px 20px 30px!important}
 .subhero h1{font-size:32px!important}
 .subcontent{padding-top:28px!important}
}

/* v0.11.2: supplied MKSA logo as HOME link */
.site-header .brand-logo{display:flex;align-items:center;padding:4px 0}
.site-header .brand-logo img{display:block;width:68px;height:68px;object-fit:contain}
@media(max-width:800px){
 .site-header .brand-logo img{width:54px;height:54px}
}

/* v0.11.3: class detail layout for classes without photos/descriptions */
.class-detail .detail-layout.class-info-only{display:block;max-width:900px}
.class-detail .detail-layout.class-info-only .detail-main{display:none}
.class-detail .detail-layout.class-info-only .detail-side{
 position:static;max-width:none;width:100%;padding:38px 42px;background:#faf9f6
}
.class-detail .detail-layout.class-info-only .detail-side h2{
 font-size:28px;margin-bottom:24px
}
.class-detail .detail-layout.class-info-only .detail-table>div{
 grid-template-columns:150px 1fr;padding:17px 0
}
.class-detail .detail-layout.class-info-only .detail-table dt{font-size:14px}
.class-detail .detail-layout.class-info-only .detail-table dd{font-size:18px}
.class-detail .detail-layout.class-info-only .detail-cta{max-width:360px;margin:30px auto 0}
@media(max-width:780px){
 .class-detail .detail-layout.class-info-only .detail-side{padding:26px 22px}
 .class-detail .detail-layout.class-info-only .detail-table>div{grid-template-columns:90px 1fr}
 .class-detail .detail-layout.class-info-only .detail-table dd{font-size:16px}
}

/* v0.11.4: 2026 annual class schedule */
.class-schedule-section{padding:72px 24px 88px;background:#0b0b0b;color:#fff}
.class-schedule-inner{max-width:1180px;margin:0 auto}
.class-schedule-section .eyebrow{color:#c5a13b;letter-spacing:.18em;font-weight:700;margin:0 0 8px}
.class-schedule-section h2{font-size:clamp(28px,4vw,44px);margin:0 0 12px}
.schedule-lead{color:#d7d7d7;margin:0 0 32px}
.schedule-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.schedule-month-card{background:#fff;color:#111;min-height:126px}
.schedule-month-head{background:#b8932f;padding:10px 16px;font-size:18px;font-weight:800}
.schedule-month-head small{font-size:11px;margin-left:8px}
.schedule-days{padding:26px 16px;font-size:18px;font-weight:700;line-height:1.7}
.schedule-notes{margin-top:24px;color:#ddd;font-size:13px;line-height:1.8}
.schedule-notes p{margin:3px 0}
.schedule-empty{padding:24px;background:#171717;color:#ddd}
@media(max-width:780px){
 .class-schedule-section{padding:48px 20px 58px}
 .schedule-month-grid{grid-template-columns:repeat(2,1fr)}
 .schedule-days{font-size:16px;padding:20px 13px}
}
@media(max-width:480px){.schedule-month-grid{grid-template-columns:1fr}}

/* v0.12.2: mobile class cards / partner links */
.partner-card{position:relative;min-height:110px!important;gap:8px}.partner-card span{font-size:11px;color:#8d742d;font-weight:700}.partner-card-no-link{border:1px solid #eee;display:grid;place-items:center;padding:15px;text-align:center;min-height:110px}.partner-card-no-link img{max-width:100%;max-height:70px;width:auto;height:auto;object-fit:contain}.mobile-menu .mksa-default-menu{display:block}
@media(max-width:800px){#class .cards{display:grid;grid-template-columns:1fr;overflow:visible;scroll-snap-type:none;gap:18px}#class .card{min-width:0;width:100%;scroll-snap-align:none}#class .card img{height:auto;aspect-ratio:16/9}.partner-grid{grid-template-columns:1fr 1fr}.partner-card{width:100%}}


/* v0.12.4: FAQ page */
.faq-page{background:#fff}.faq-inner{max-width:920px;margin:0 auto}.faq-item{border-top:1px solid #ddd}.faq-item:last-child{border-bottom:1px solid #ddd}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:18px;padding:26px 8px;font-size:18px;font-weight:700}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"＋";margin-left:auto;color:#b39542;font-size:24px;line-height:1}.faq-item[open] summary:after{content:"−"}.faq-q,.faq-a{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;font-weight:800}.faq-q{background:#111;color:#fff}.faq-answer{display:flex;gap:18px;padding:0 8px 28px 8px;color:#444;line-height:1.9}.faq-a{background:#b39542;color:#fff}.faq-answer>div{flex:1}.faq-answer p{margin:3px 0 12px}.faq-empty{text-align:center;padding:40px 0;color:#777}@media(max-width:800px){.faq-item summary{font-size:16px;padding:22px 0;gap:12px}.faq-answer{padding:0 0 24px;gap:12px}.faq-q,.faq-a{flex-basis:30px;width:30px;height:30px}}

/* Membership / ticket system */
.membership-system{background:#f6f5f1;padding:58px 32px}.membership-inner{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;box-sizing:border-box}.membership-inner h2{font-size:34px;margin:8px 0 24px}.membership-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.membership-card{background:#fff;border:1px solid #dedbd2;padding:30px}.membership-card h3{font-size:24px;margin:8px 0 14px}.membership-card p{line-height:1.8}.membership-label{font-size:11px;letter-spacing:.14em;color:#8d742d;font-weight:700}.ticket-note{border-left:3px solid #b39542;padding-left:14px;font-weight:600}.membership-benefit{font-size:14px;color:#555}.membership-caption{font-size:12px;color:#777;margin-top:14px}@media(max-width:800px){.membership-system{padding:42px 16px}.membership-inner{padding:0 8px}.membership-grid{grid-template-columns:1fr}.membership-card{padding:24px}.membership-inner h2{font-size:29px}}

/* v0.12.7 Membership layout: explicit inset + cache-busted stylesheet */
body.post-type-archive-mksa_class .membership-system,
.post-type-archive-mksa_class .membership-system,
.membership-system{
  width:auto;
  max-width:1480px;
  margin:36px auto 54px;
  padding:54px clamp(28px,5vw,72px);
  box-sizing:border-box;
}
.membership-system .membership-inner{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:0;
}
@media (max-width:800px){
  body.post-type-archive-mksa_class .membership-system,
  .post-type-archive-mksa_class .membership-system,
  .membership-system{
    margin:20px 16px 38px;
    padding:34px 20px;
  }
}

/* v0.12.8: keep the mobile MKSA header pinned to the top of the viewport */
@media (max-width:800px){
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    z-index:9999!important;
    height:68px!important;
    padding:0 18px!important;
    background:#fff!important;
    color:#111!important;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
  }
  .site-header .brand-logo{height:68px}
  .site-header .brand-logo img{width:54px;height:54px}
  .site-header .menu-toggle{margin-left:auto;flex:0 0 46px}
  .mobile-menu{z-index:10000!important}
  body.admin-bar .site-header{top:46px!important}
}
@media (min-width:783px) and (max-width:800px){body.admin-bar .site-header{top:32px!important}}

/* v0.12.9: mobile header must start at the viewport top even for logged-in WordPress users */
@media (max-width:800px){
  html{margin-top:0!important;}
  body.admin-bar{margin-top:0!important;}
  body.admin-bar .site-header,.site-header{top:0!important;}
  #wpadminbar{display:none!important;}
  .top-membership{padding-top:54px;padding-bottom:54px;}
  .top-membership .membership-grid{grid-template-columns:1fr;}
}
.top-membership{max-width:none;background:#f6f5f1;padding-left:max(28px,calc((100vw - var(--max))/2));padding-right:max(28px,calc((100vw - var(--max))/2));}
.top-membership .membership-inner{max-width:1180px;margin:0 auto;padding:0;}
.top-membership .section-head{margin-bottom:24px;}
.top-membership .membership-grid{margin-top:18px;}

/* v0.13.0: hero title spacing / mobile line break */
.hero-title-line1,.hero-title-line2{display:inline}.hero-title-sep{display:inline}
@media(max-width:800px){.hero-title-line1,.hero-title-line2{display:block}.hero-title-sep{display:none}}


/* v0.13.1: single 3:2 HERO image. Portrait images are center-cropped safely. */
.hero-single{position:relative;aspect-ratio:3/2;height:auto;min-height:0;max-height:none;overflow:hidden;background:#171717}
.hero-single-bg{position:absolute;inset:0;background:#222 center center/cover no-repeat}
.hero-single .hero-shade{z-index:1}
.hero-single .hero-copy{z-index:2}
@media(max-width:800px){
 .hero-single{aspect-ratio:3/2;height:auto!important;min-height:0!important;padding:0!important;margin-top:68px}
 .hero-single-bg{background-position:center center}
 .hero-single .hero-copy{position:absolute;left:20px;right:20px;bottom:28px;width:auto;margin:0}
}

/* v0.13.3 staff portrait framing: keep faces/heads visible */
.staff-grid img,.archive-staff-card img{object-position:center 18%;}
@media(max-width:780px){.staff-grid img,.archive-staff-card img{object-position:center 15%;}}
\n\n/* v0.13.4: separate HERO photo and copy so text never covers the image */
.hero-single{display:block;color:inherit;margin:0;aspect-ratio:3/2;height:auto;min-height:0;overflow:hidden;background:#171717}
.hero-single-bg{position:absolute;inset:0;background:#222 center 38%/cover no-repeat}
.hero-copy-panel{background:#0a0a0a;color:#fff;padding:52px max(28px,calc((100vw - var(--max))/2)) 58px}
.hero-copy-panel .hero-copy{position:static;width:auto;max-width:var(--max);margin:0 auto}
.hero-copy-panel .hero-copy h1{font-size:clamp(42px,5vw,64px);line-height:1.02;letter-spacing:.01em;margin:18px 0}
.hero-copy-panel .hero-copy>p:first-child{font-family:serif;font-size:20px;line-height:1.7;margin-top:0}
.hero-copy-panel .hero-sub{font-size:20px;letter-spacing:.16em}
@media(max-width:800px){
 .hero-single{margin-top:68px!important;aspect-ratio:3/2;height:auto!important;min-height:0!important;padding:0!important}
 .hero-single-bg{background-position:center 35%}
 .hero-copy-panel{padding:32px 20px 38px}
 .hero-copy-panel .hero-copy{position:static;left:auto;right:auto;bottom:auto;width:auto;margin:0}
 .hero-copy-panel .hero-copy h1{font-size:clamp(30px,9vw,40px);line-height:1.08;margin:12px 0}
 .hero-copy-panel .hero-copy>p:first-child{font-size:15px;line-height:1.65;margin-bottom:12px}
 .hero-copy-panel .hero-sub{font-size:14px;letter-spacing:.12em;margin:16px 0}
 .hero-copy-panel .hero-copy .gold-btn{width:100%;max-width:320px;text-align:center;padding:16px 18px}
}

/* v0.13.5: ensure HERO copy panel is black with white typography */
.hero-copy-panel{background:#0a0a0a!important;color:#fff!important}
.hero-copy-panel .hero-copy,.hero-copy-panel .hero-copy h1,.hero-copy-panel .hero-copy p,.hero-copy-panel .hero-sub{color:#fff!important}

/* v0.13.7: mobile class/price cards are always vertical (no horizontal swipe) */
@media (max-width:800px){
  #class .cards,
  body.post-type-archive-mksa_class .archive-cards,
  .post-type-archive-mksa_class .archive-cards{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    overflow-x:visible!important;
    scroll-snap-type:none!important;
  }
  #class .cards>.card,
  body.post-type-archive-mksa_class .archive-cards>* ,
  .post-type-archive-mksa_class .archive-cards>*{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    scroll-snap-align:none!important;
  }
}
