@font-face{font-family:Onest;src:url(/assets/polices/onest-latin-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Yuji Syuku;src:url(/assets/polices/yuji-syuku-kanji.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+4E00-9FFF}:root{--brush:"Yuji Syuku", "Hiragino Mincho ProN", "Yu Mincho", serif;--paper:#faf9f6;--white:#fff;--ink:#151515;--band:#0a0a0a;--brick:#ac3028;--rule:#d8d6d0;--muted:#5c5953;--rule-dark:#2c2b29;--muted-dark:#b3afa7;--font:"Onest", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--band-h:72px;--gutter:64px;--max:1280px;--section-y:clamp(80px, 9vw, 136px);--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1)}@media (width<=899px){:root{--band-h:64px;--gutter:40px}}@media (width<=599px){:root{--gutter:24px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--band-h)}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:18px;font-weight:400;line-height:1.6}@media (width<=599px){body{font-size:16.5px}}img,video,canvas{max-width:100%;display:block}h1,h2,h3,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3{font-weight:400}a{color:inherit}:focus-visible{outline:2px solid var(--brick);outline-offset:3px}.section--dark :focus-visible,.band :focus-visible,.hero :focus-visible,.footer :focus-visible{outline-color:#fff}main:focus{outline:none}.container{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--white);color:var(--ink);padding:12px 18px;font-size:16px;text-decoration:none;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.icon{flex:none}.eyebrow{color:var(--brick);letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;font-size:13px;line-height:1.4}.eyebrow--light{color:#e48c84}.h2{letter-spacing:-.022em;text-wrap:balance;font-size:clamp(30px,1.6vw + 18px,52px);line-height:1.1}.mask-line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.mask-line>span{display:block}.prose{max-width:62ch}.prose p+p{margin-top:1em}.caption{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.45}.button{isolation:isolate;border:1px solid var(--ink);background:var(--ink);min-height:48px;color:var(--paper);transition:color .45s var(--ease);border-radius:2px;align-items:center;gap:12px;padding:12px 22px;font-size:16px;line-height:1.2;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.button__fill{z-index:-1;background:var(--paper);transition:transform .62s var(--ease-out);position:absolute;inset:0;transform:translateY(101%)}.button:hover,.button:focus-visible{color:var(--ink)}.button:hover .button__fill,.button:focus-visible .button__fill{transform:none}.link-arrow{text-underline-offset:6px;align-items:center;gap:10px;min-height:44px;font-size:16px;text-decoration:underline 1px;display:inline-flex}.link-arrow .icon{transition:transform .3s var(--ease-out)}.link-arrow:hover .icon,.link-arrow:focus-visible .icon{transform:translate(3px)}.link-arrow--light{color:#fff}.roll{height:1.3em;line-height:1.3em;display:block;position:relative;overflow:hidden}.roll>span{transition:transform .55s var(--ease-out);display:block}.roll>span+span{position:absolute;inset:0;transform:translateY(100%)}a:hover>.roll>span:first-child,a:focus-visible>.roll>span:first-child{transform:translateY(-100%)}a:hover>.roll>span+span,a:focus-visible>.roll>span+span{transform:none}.band{z-index:50;height:var(--band-h);background:var(--band);color:#fff;position:sticky;top:0}.band__inner{justify-content:space-between;align-items:center;gap:16px;height:100%;display:flex}.band__actions{align-items:center;gap:28px;display:flex}.brand{align-items:center;gap:14px;min-width:0;min-height:44px;text-decoration:none;display:inline-flex}.brand__logo,.footer__id img{border-radius:50%;width:46px;height:46px}.footer__id img{width:40px;height:40px}.brand__text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.brand__name{white-space:nowrap;font-size:16px}.brand__meta{color:#a9a59e;letter-spacing:.02em;white-space:nowrap;font-size:12.5px}.nav__panel{display:contents}.nav__actions{display:none}.nav__list{align-items:center;gap:34px;display:flex}.nav__link{color:#e9e7e2;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:15px;text-decoration:none;display:inline-flex;position:relative}.nav__link:after{content:"";background:var(--brick);transform-origin:0;height:1px;transition:transform .45s var(--ease-out);position:absolute;bottom:10px;left:0;right:0;transform:scaleX(0)}.nav__link:hover:after,.nav__link:focus-visible:after,.nav__link.is-current:after{transform:scaleX(1)}.nav__link--cta{color:#fff;transition:background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);border:1px solid #ffffff8c;border-radius:2px;padding:0 18px}.nav__link--cta:after{display:none}.nav__link--cta:hover{color:var(--band);background:#fff;border-color:#fff}.nav__toggle{display:none}.lang{font-size:13px;position:relative}.lang__button{color:#fff;letter-spacing:.1em;cursor:pointer;user-select:none;min-height:44px;transition:border-color .3s var(--ease), background-color .3s var(--ease);border:1px solid #ffffff38;border-radius:2px;align-items:center;gap:8px;padding:0 12px;list-style:none;display:inline-flex}.lang__button::-webkit-details-marker{display:none}.lang__button:hover,.lang[open]>.lang__button{background:#ffffff0f;border-color:#ffffff80}.lang__globe{opacity:.85;flex:none}.lang__chevron{opacity:.6;transition:transform .3s var(--ease-out);flex:none}.lang[open] .lang__chevron{transform:rotate(180deg)}.lang__menu{z-index:30;transform-origin:100% 0;background:#161615;border:1px solid #ffffff1a;border-radius:4px;min-width:200px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #00000073}.lang--footer .lang__menu{transform-origin:100% 100%;top:auto;bottom:calc(100% + 8px)}.lang__opt{color:#ffffffd1;min-height:46px;transition:background-color .2s var(--ease), color .2s var(--ease);border-radius:2px;grid-template-columns:30px 1fr 16px;align-items:center;gap:10px;padding:0 12px;font-size:15px;text-decoration:none;display:grid}.lang__opt:hover{color:#fff;background:#ffffff0f}.lang__opt[aria-current=true]{color:#fff;background:#ffffff14}.lang__opt-code{color:var(--muted-dark);letter-spacing:.12em;font-size:12px}.lang__check{color:#e48c84}.lang__opt:focus-visible,.lang__button:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=899px){.band__actions{flex-direction:row-reverse;gap:12px}.brand__logo{width:40px;height:40px}.brand__name{font-size:15px}.nav__toggle{color:#fff;min-width:44px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;margin-right:-8px;padding:0 8px;font-size:15px;display:inline-flex}.nav__toggle-close,.nav__toggle[aria-expanded=true] .nav__toggle-open{display:none}.nav__toggle[aria-expanded=true] .nav__toggle-close,.nav__toggle-open{display:inline-flex}.js .lang--band{display:none}.js .nav__panel{z-index:40;inset:var(--band-h) 0 0;padding:clamp(16px, 4vh, 48px) var(--gutter) calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;background:var(--band);flex-direction:column;display:none;position:fixed;overflow-y:auto}.js .nav__panel.is-open{display:flex}.js .nav__list{flex-direction:column;align-items:stretch;gap:0}.js .nav__list li{border-bottom:1px solid var(--rule-dark)}.js .nav__link,.js .nav__link--cta{color:#fff;letter-spacing:-.02em;background:0 0;border:0;justify-content:flex-start;width:100%;min-height:0;padding:clamp(14px,2.4vh,22px) 0;font-size:clamp(34px,6vw + 12px,56px);line-height:1.1}.js .nav__link:after{display:none}.js .nav__link.is-current{color:#e48c84}.js .nav__link .roll{height:1.1em;line-height:1.1em}.js .nav__actions{gap:12px;margin-top:auto;padding-top:40px;display:grid}.nav__action{color:#fff;min-height:56px;transition:background-color .25s var(--ease), border-color .25s var(--ease);border:1px solid #ffffff38;border-radius:2px;justify-content:center;align-items:center;gap:12px;padding:0 20px;font-size:17px;text-decoration:none;display:flex}.nav__action:active{background:#ffffff14}.nav__action--primary{color:var(--band);background:#fff;border-color:#fff}.nav__action--primary:active{background:#e9e7e2}.lang--panel .lang__button{justify-content:center;width:100%;min-height:56px;font-size:15px}.lang--panel .lang__menu{transform-origin:bottom;inset:auto 0 calc(100% + 8px)}html.menu-open{overflow:hidden}html:not(.js) .nav__toggle{display:none}html:not(.js) .band{height:auto;min-height:var(--band-h);position:relative}html:not(.js) .band__inner{flex-wrap:wrap;padding-block:10px}html:not(.js) .band__actions{flex-wrap:wrap}html:not(.js) .nav__list{flex-wrap:wrap;gap:0 20px}html:not(.js) .nav__list li{border:0;padding:0}html:not(.js) .nav__link{width:auto;font-size:15px}}@media (width<=479px){.brand__meta{display:none}}@media (width<=379px){.brand__text{display:none}}@media (width<=479px){.nav__toggle-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}}.hero{height:clamp(580px, calc(100svh - var(--band-h)), 920px);color:#fff;isolation:isolate;background:#2a2723;position:relative;overflow:hidden}.hero__media,.hero__media picture,.hero__poster,.hero__video{width:100%;height:100%;position:absolute;inset:0}.hero__poster,.hero__video{object-fit:cover;object-position:52% 50%}.hero__video{opacity:0;transition:opacity .4s var(--ease)}.hero__video.is-playing{opacity:1}.hero__veil{pointer-events:none;background:linear-gradient(#0a0a0a00 42%,#0a0a0a47 66%,#0a0a0a9e 100%),linear-gradient(90deg,#0a0a0a38 0%,#0a0a0a00 50%);position:absolute;inset:0}.hero__crest{border-radius:50%;width:104px;height:104px;position:absolute;top:31%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 2px #0000002e,0 8px 28px #0000002e}.hero__kanji{z-index:1;top:clamp(28px,6vh,64px);right:max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter)));color:#fffffff0;font-family:var(--brush);letter-spacing:.06em;writing-mode:vertical-rl;text-shadow:0 2px 30px #00000047;pointer-events:none;user-select:none;margin:0;font-size:clamp(44px,3.4vw + 22px,92px);line-height:1;position:absolute}.hero__content{justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:clamp(40px,5.5vh,64px);display:flex;position:absolute;inset:auto 0 0}.hero__text{max-width:680px}.hero__eyebrow{color:#ffffffdb;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-size:13px}.hero__title{letter-spacing:-.025em;text-shadow:0 1px 18px #0003;font-size:clamp(32px,2.2vw + 18px,54px);line-height:1.06}.hero__title .mask-line>span{white-space:nowrap}.hero__lede{color:#ffffffe6;max-width:44ch;margin-top:16px;margin-bottom:8px;font-size:17px;line-height:1.5}.hero__controls{flex:none;align-items:center;gap:16px;display:flex}.hero__caption{color:#ffffffd1;font-size:13px}.media-button{color:#fff;cursor:pointer;width:44px;height:44px;transition:background-color .16s var(--ease), border-color .16s var(--ease);background:#0a0a0a47;border:1px solid #fff9;border-radius:50%;place-items:center;padding:0;display:inline-grid}.media-button:hover{background:#0a0a0a80;border-color:#fff}.media-button[hidden],.media-button__pause,.media-button.is-playing .media-button__play{display:none}.media-button.is-playing .media-button__pause,.media-button__play{display:inline-flex}@media (width<=899px){.hero{height:clamp(520px,76svh,760px)}.hero__poster,.hero__video{object-position:56% 50%}.hero__crest{width:84px;height:84px;top:30%}.hero__veil{background:linear-gradient(#0a0a0a00 34%,#0a0a0a61 60%,#0a0a0ab8 100%)}.hero__content{flex-direction:column;align-items:stretch;gap:20px;padding-bottom:28px}.hero__lede{font-size:16px}.hero__controls{border-top:1px solid #ffffff47;justify-content:space-between;padding-top:16px}}@media (width<=599px){.hero{background:var(--band);height:auto}.hero__media{aspect-ratio:4/3;position:relative;inset:auto}.hero__poster,.hero__video{object-position:50% 50%}.hero__veil{display:none}.hero__crest{width:72px;height:72px;top:24vw}.hero__kanji{letter-spacing:.04em;font-size:min(11vw,46px);top:5vw}.hero .next-session--hero{margin-top:0;margin-bottom:8px;font-size:14px}.hero__content{gap:20px;padding-top:26px;padding-bottom:24px;position:static}.hero__title{text-shadow:none;font-size:clamp(24px,7.6vw,32px)}.hero__title .mask-line>span{white-space:normal}}@media (orientation:landscape) and (height<=500px) and (width>=600px){.hero{height:max(300px, calc(100svh - var(--band-h)))}.hero__crest{width:60px;height:60px;top:26%}.hero__content{flex-direction:row;align-items:flex-end;padding-bottom:18px}.hero__eyebrow{margin-bottom:8px;font-size:12px}.hero__title{font-size:28px}.hero__lede{margin-top:8px;margin-bottom:0;font-size:15px}.hero__controls{border-top:0;padding-top:0}.js .nav__list.is-open{max-height:calc(100svh - var(--band-h));overflow-y:auto}}.section{padding-block:var(--section-y)}.section--paper{background:var(--paper)}.section--white{background:var(--white)}.section--dark{background:var(--band);color:#f3f1ec}.split{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:28px 32px;display:grid}.split__head{grid-column:1/span 5}.split__body{grid-column:7/span 6;padding-top:8px}.split__body>p+p{margin-top:28px}.section--dojo{padding-top:clamp(16px,1.6vw,24px);overflow-x:clip}.triptych{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid}.triptych figure{flex-direction:column;height:100%;display:flex}.triptych__frame{aspect-ratio:4/5;background:#e6e3dc;width:100%;max-height:560px;position:relative}.triptych__frame img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.triptych__frame .cloth{z-index:1;pointer-events:none;width:calc(100% + 80px);max-width:none;height:calc(100% + 80px);position:absolute;top:-40px;left:-40px}.triptych__frame.on-cloth{background:0 0}.triptych__frame.on-cloth img{visibility:hidden}.triptych__label{z-index:2;background:var(--band);color:#f3f1ec;text-align:center;flex:1;place-items:center;min-height:52px;padding:12px 16px;font-size:14px;line-height:1.35;display:grid;position:relative}.intro-block{text-align:center;flex-direction:column;align-items:center;max-width:760px;margin:clamp(72px,8vw,112px) auto 0;display:flex}.intro-block__crest{border-radius:50%;width:96px;height:96px;margin-bottom:28px}.intro-block .h2{margin-bottom:32px}.intro-block__text{color:#2b2a27;max-width:60ch}.values{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:clamp(64px,7vw,104px);display:grid}.values__item{border-top:1px solid var(--rule);padding-top:20px}.values__title{margin-bottom:8px;font-size:22px;line-height:1.3}.values__text{max-width:34ch;color:var(--muted);font-size:16.5px}@media (width>=600px) and (width<=899px){.triptych{grid-template-columns:repeat(6,minmax(0,1fr))}.triptych__item{grid-column:span 2}.triptych__item:nth-child(-n+2){grid-column:span 3}.triptych__item:nth-child(-n+2) .triptych__frame{aspect-ratio:1}}@media (width<=599px){.section--dojo{padding-top:0}.triptych{margin-inline:calc(var(--gutter) * -1);grid-template-columns:repeat(2,minmax(0,1fr))}.triptych__item:first-child{grid-column:1/-1}.triptych__frame{max-height:none}.triptych__label{min-height:64px;padding:10px 12px;font-size:13px}.triptych__item:first-child .triptych__label{min-height:52px;font-size:14px}}@media (width<=759px){.values{grid-template-columns:1fr;gap:24px}}.chapter{color:#fff;background:#cfcac0;place-items:center;height:clamp(220px,26vw,380px);display:grid;position:relative;overflow:hidden}.chapter__media,.chapter__media img{width:100%;height:100%;position:absolute;inset:0}.chapter__media img{object-fit:cover;filter:blur(14px)saturate(.85)brightness(1.05);transform:scale(1.18)}.chapter:after{content:"";background:#14120f2e;position:absolute;inset:0}.chapter{align-content:center;row-gap:clamp(6px,1vw,14px)}.chapter__kanji{z-index:1;font-family:var(--brush);letter-spacing:.08em;text-shadow:0 2px 30px #00000038;margin:0 -.08em 0 0;font-size:clamp(64px,6vw + 30px,132px);line-height:1;position:relative}.chapter__kanji+.chapter__word{letter-spacing:.18em;text-transform:uppercase;font-size:clamp(15px,.5vw + 12px,19px)}.chapter__word{z-index:1;letter-spacing:-.015em;text-shadow:0 2px 24px #00000040;font-size:clamp(28px,2.6vw + 14px,56px);line-height:1.1;position:relative}.ruled-list{border-bottom:1px solid var(--rule);margin-top:clamp(56px,6vw,96px)}.ruled-list__row{--row-pad:clamp(16px, 1.6vw, 28px);isolation:isolate;border-top:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline;column-gap:32px;padding-block:clamp(28px,3vw,44px);display:grid;position:relative}.ruled-list__row:before{content:"";z-index:-1;inset:-1px calc(var(--row-pad) * -1);background:var(--band);transform-origin:0;transition:transform .45s var(--ease-out);pointer-events:none;position:absolute;transform:scaleX(0)}.ruled-list__row>*{transition:color .3s var(--ease)}.ruled-list__bar{left:calc(var(--row-pad) * -1);background:var(--brick);transform-origin:top;width:3px;transition:transform .45s var(--ease-out);position:absolute;top:-1px;bottom:-1px;transform:scaleY(0)}@media (hover:hover){.ruled-list__row:hover{z-index:1}.ruled-list__row:hover:before{transform:scaleX(1)}.ruled-list__row:hover .ruled-list__bar{transition-delay:.12s;transform:scaleY(1)}.ruled-list__row:hover .ruled-list__num{color:#e48c84}.ruled-list__row:hover .ruled-list__title,.ruled-list__row:hover .ruled-list__subtitle{color:#f3f1ec}.ruled-list__row:hover .ruled-list__text{color:var(--muted-dark)}}@media (prefers-reduced-motion:reduce){.ruled-list__row:before,.ruled-list__bar{opacity:0;transition:opacity .2s var(--ease);transform:none}.ruled-list__row:hover:before,.ruled-list__row:hover .ruled-list__bar{opacity:1;transform:none}}.ruled-list__num{color:var(--brick);letter-spacing:.08em;font-variant-numeric:tabular-nums;grid-column:1/span 1;font-size:14px}.ruled-list__title{letter-spacing:-.02em;grid-column:2/span 4;font-size:clamp(30px,1.4vw + 18px,44px);line-height:1.1}.ruled-list__body{grid-column:7/span 6}.ruled-list__subtitle{margin-bottom:6px;font-size:19px}.ruled-list__text{max-width:56ch;color:var(--muted)}@media (width<=759px){.ruled-list__row{grid-template-columns:44px 1fr;row-gap:12px}.ruled-list__num{grid-column:1}.ruled-list__title,.ruled-list__body{grid-column:2}}.portrait{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;column-gap:32px;display:grid}.portrait__figure{grid-column:1/span 5}.portrait__figure img{aspect-ratio:843/1260;object-fit:cover;background:#e6e3dc;width:100%;height:auto}.portrait__text{flex-direction:column;grid-column:7/span 6;gap:32px;padding-top:clamp(0px,3vw,40px);display:flex}.portrait__subtitle{color:var(--muted);margin-top:14px;font-size:clamp(20px,.6vw + 15px,24px);line-height:1.35}@media (width>=600px) and (width<=899px){.portrait{grid-template-columns:40% minmax(0,1fr);column-gap:32px}.portrait__figure{top:calc(var(--band-h) + 24px);grid-column:1;position:sticky}.portrait__text{grid-column:2;gap:24px;padding-top:0}}@media (width<=599px){.portrait{grid-template-columns:minmax(0,1fr);row-gap:48px}.portrait__figure,.portrait__text{grid-column:1/-1}.portrait__figure{max-width:520px}.portrait__text{padding-top:0}}.textile{max-width:480px;margin-top:16px}.textile__surface{aspect-ratio:16/9;background-color:#f1eee7;background-image:repeating-linear-gradient(0deg,#786e5f17 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#786e5f12 0 1px,#0000 1px 3px),linear-gradient(160deg,#f7f5f0 0%,#ebe7de 55%,#f3f0ea 100%);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #1515150f}.textile__surface canvas{opacity:0;width:100%;height:100%;transition:opacity .5s var(--ease);position:absolute;inset:0}.textile__surface.is-live canvas{opacity:1}.textile__crest{z-index:1;pointer-events:none;border-radius:50%;width:112px;height:112px;position:absolute;top:50%;right:9%;transform:translateY(-50%);box-shadow:0 1px 1px #0000001f,0 4px 12px #3c322824}@media (width<=599px){.textile__crest{width:88px;height:88px}}.schedule{margin-top:32px}.schedule__title{color:var(--brick);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:400;line-height:1.4;display:flex}.schedule__list{border-top:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}.schedule__item{border-bottom:1px solid var(--rule);flex-direction:column;gap:2px;padding:14px 12px 14px 0;display:flex}.schedule__item+.schedule__item{border-left:1px solid var(--rule);padding-left:16px}.schedule__day{color:var(--muted);font-size:14px}.schedule__time{letter-spacing:-.01em;white-space:nowrap;font-size:clamp(22px,1vw + 16px,28px);line-height:1.2}.schedule__item.is-next{box-shadow:inset 0 2px 0 var(--brick)}.schedule__item.is-next .schedule__day{color:var(--ink)}.next-session{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:14px;font-size:15px;display:flex}.next-session[hidden]{display:none}.next-session__value{color:var(--ink)}.next-session__dot{background:var(--brick);border-radius:50%;width:8px;height:8px;position:relative}.next-session--hero{color:#ffffffd1;margin-top:4px;margin-bottom:14px}.next-session--hero .next-session__value{color:#fff}.next-session--hero .next-session__dot{background:#e8584d}.actions{flex-wrap:wrap;align-items:flex-start;gap:16px 28px;margin-top:32px;display:flex}.actions .link-arrow{min-height:48px}.actions__note{color:var(--muted);margin-top:8px;font-size:14px}.contact__booking{margin-top:20px}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:clamp(56px,6vw,96px);display:grid}.steps__item{flex-direction:column;gap:22px;display:flex}.steps__badge{border:1px solid var(--rule);width:84px;height:84px;color:var(--muted);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:inline-flex}.steps__word{letter-spacing:.14em;text-transform:uppercase;font-size:12px}.steps__num{color:var(--ink);letter-spacing:-.02em;margin-top:6px;font-size:30px}.steps__item:first-child .steps__badge{border-color:var(--brick)}.steps__title{margin-bottom:8px;font-size:22px;line-height:1.3}.steps__text{max-width:36ch;color:var(--muted);font-size:16.5px}@media (width<=759px){.steps{grid-template-columns:1fr;gap:28px}.steps__item{flex-direction:row;align-items:flex-start;gap:20px}.steps__badge{flex:none;width:68px;height:68px}.steps__num{font-size:24px}}.faq{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;margin-top:clamp(80px,8vw,120px);display:grid}.faq__heading{letter-spacing:-.015em;grid-column:1/span 5;font-size:clamp(24px,.8vw + 16px,30px);line-height:1.2}.faq__list{border-bottom:1px solid var(--rule);grid-column:7/span 6}.faq__item{border-top:1px solid var(--rule)}.faq__question{cursor:pointer;min-height:64px;transition:color .3s var(--ease);justify-content:space-between;align-items:center;gap:24px;padding-block:16px;font-size:18px;line-height:1.4;list-style:none;display:flex}.faq__question::-webkit-details-marker{display:none}.faq__question:hover{color:var(--brick)}.faq__chevron{transition:transform .35s var(--ease-out)}.faq__item[open] .faq__chevron{transform:rotate(180deg)}.faq__answer{max-width:56ch;color:var(--muted);padding-bottom:24px}.contact{grid-template-columns:repeat(12,minmax(0,1fr));gap:56px 32px;display:grid}.contact__head{grid-column:1/span 5}.contact__note{max-width:36ch;color:var(--muted-dark);margin-top:20px}.contact__grid{grid-column:7/span 6;gap:48px;padding-top:38px;display:grid}.contact__block{border-top:1px solid var(--rule-dark);flex-direction:column;align-items:flex-start;gap:14px;padding-top:20px;display:flex}.contact__label{color:var(--muted-dark);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;font-size:13px;display:inline-flex}.contact__address{flex-direction:column;font-size:20px;font-style:normal;line-height:1.5;display:flex}.contact__entrance{color:#fff;margin-top:8px}.contact__entrance:before{content:"";vertical-align:.15em;background:var(--brick);width:8px;height:8px;margin-right:10px;display:inline-block}.contact__email{letter-spacing:-.01em;text-underline-offset:7px;overflow-wrap:anywhere;padding-block:8px;font-size:clamp(22px,1.2vw + 14px,32px);line-height:1.25;text-decoration:underline 1px;display:inline-block}.contact__email:hover{text-decoration-color:var(--brick)}@media (width<=899px){.split,.faq,.contact{grid-template-columns:minmax(0,1fr)}.split__head,.split__body,.faq__heading,.faq__list,.contact__head,.contact__grid{grid-column:1/-1}.split__body,.contact__grid{padding-top:0}.faq{row-gap:24px}.contact__address{font-size:18px}}.footer{background:var(--band);color:var(--muted-dark);font-size:14px;line-height:1.6}.footer__nav{border-top:1px solid var(--rule-dark);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-block:28px;display:flex}.footer__nav ul{flex-wrap:wrap;gap:0 28px;display:flex}.footer__nav a{color:#e9e7e2;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:15px;text-decoration:none;display:inline-flex}.footer__nav ul a:hover{text-underline-offset:5px;text-decoration:underline}.footer__inner{border-top:1px solid var(--rule-dark);flex-wrap:wrap;justify-content:space-between;gap:24px 48px;padding-block:28px 48px;display:flex}.footer__id{align-items:center;gap:14px;display:flex}.footer__id p{flex-direction:column;display:flex}.footer__name{color:#f3f1ec}.footer__meta{text-align:right;flex-direction:column;gap:4px;display:flex}.footer__meta a{text-underline-offset:3px}.footer__top{color:#f3f1ec;align-items:center;min-height:44px;display:inline-flex}@media (width<=899px){.footer__meta{text-align:left}}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}html{scroll-behavior:auto}}@media (prefers-reduced-motion:no-preference){.lang[open] .lang__menu{animation:lang-menu-in .22s var(--ease-out) both}.js .nav__panel.is-open{animation:menu-in .26s var(--ease) both}.js .nav__panel.is-open .nav__list li,.js .nav__panel.is-open .nav__actions{animation:fade-up .56s var(--ease-out) both;animation-delay:calc(60ms + var(--i,4) * 55ms)}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s}.js .hero .intro-line{animation:line-up 1.05s var(--ease-out) both;animation-delay:calc(.12s + var(--i,0) * 90ms + var(--gate,0s))}.js .hero .intro{animation:fade-up .9s var(--ease-out) both;animation-delay:calc(.12s + var(--i,0) * 90ms + var(--gate,0s))}.js .hero__crest{animation:crest-in 1.2s var(--ease-out) var(--gate,0s) both}.js .hero__kanji{animation:brush-down 1.5s var(--ease-out) calc(.36s + var(--gate,0s)) both}.js.reveal-ready .chapter__kanji{transition:clip-path 1.3s var(--ease-out) 80ms, filter 1.3s var(--ease-out) 80ms}.js.reveal-ready .chapter:not(.is-in) .chapter__kanji{clip-path:inset(0 100% 0 0);filter:blur(6px)}.next-session__dot:after{content:"";background:inherit;animation:dot-pulse 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}.js.reveal-ready [data-reveal]:not(.is-in){opacity:0;transform:translateY(12px)}.js.reveal-ready [data-reveal]{transition:opacity .56s var(--ease) var(--d,0s), transform .56s var(--ease) var(--d,0s)}.js.reveal-ready [data-reveal] .mask-line>span{transition:transform 1.05s var(--ease-out);transition-delay:calc(var(--d,0s) + var(--l,0) * 90ms)}.js.reveal-ready [data-reveal]:not(.is-in) .mask-line>span{transform:translateY(110%)}@supports (animation-timeline:view()){.chapter__media img{animation:linear both chapter-drift view()}}}@keyframes line-up{0%{transform:translateY(110%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}}@keyframes crest-in{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))scale(.94)}}@keyframes chapter-drift{0%{transform:scale(1.32)translateY(-4%)}to{transform:scale(1.14)translateY(4%)}}@keyframes brush-down{0%{clip-path:inset(0 0 100%);filter:blur(6px);opacity:.4}}@keyframes dot-pulse{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(2.8)}}@keyframes lang-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}}.gate{display:none}.gate-on{--gate:1.05s}.gate-on .gate{z-index:1000;pointer-events:none;animation:0s 2.1s forwards gate-hide;display:block;position:fixed;inset:0;overflow:hidden}.gate__door{--slat:clamp(22px, 3.4vh, 34px);background-color:#0d0d0c;background-image:linear-gradient(#ffffff13 0 1px,#ffffff05 1px 30%,#0000 55%,#00000061 calc(100% - 2px),#000 calc(100% - 2px)),linear-gradient(90deg,#00000059,#0000 18% 82%,#00000059);background-size:100% var(--slat), 100% 100%;background-position:0 100%,0 0;animation:1s 1.05s both gate-rise;position:absolute;inset:0;box-shadow:0 28px 60px #0000008c}.gate__door:before{content:"";background:linear-gradient(#2a2927 0 1px,#161615 1px,#0a0a0a);border-top:1px solid #000;height:16px;position:absolute;inset:auto 0 0}.gate__door:after{content:"";background:linear-gradient(#3a3936,#1d1c1b);border-radius:3px;width:72px;height:6px;margin-left:-36px;position:absolute;bottom:5px;left:50%}.gate__mark{place-content:center;justify-items:center;gap:20px;display:grid;position:absolute;inset:0}.gate__kanji{font-family:var(--brush);writing-mode:vertical-rl;color:var(--paper);animation:brush-down .9s var(--ease-out) .12s both;font-size:clamp(76px,15vh,140px);line-height:1}.gate__osu{letter-spacing:.42em;text-transform:uppercase;color:var(--muted-dark);animation:fade-up .6s var(--ease-out) .62s both;margin-right:-.42em;font-size:13px}.gate-skip .gate__door{animation:.6s both gate-rise}@media (prefers-reduced-motion:reduce){.gate-on .gate{display:none}}@keyframes gate-rise{0%{animation-timing-function:cubic-bezier(.3,0,.4,1);transform:translate(0,0)}9%{animation-timing-function:ease-in-out;transform:translateY(-2.2%)}17%{animation-timing-function:cubic-bezier(.55,0,.25,1);transform:translateY(-1.8%)}to{transform:translateY(-100%)}}@keyframes gate-hide{to{visibility:hidden}}
