/* Shared header proportions, oval feedback and hamburger interaction. */
.tcs-shared-header{display:flex;position:sticky;top:0;z-index:1000;min-height:104px;padding:16px 126px 16px 60px;gap:30px;background:rgba(248,247,244,.86);backdrop-filter:blur(16px);border-bottom:1px solid #292d2814;align-items:center;justify-content:space-between;view-transition-name:studio-navigation}
.tcs-shared-header .brand{flex-shrink:0}.tcs-shared-header .brand img{width:150px;height:66px;object-fit:contain}
.tcs-shared-header #flow-menu{display:flex;position:static;align-items:center;flex-wrap:nowrap;gap:24px;padding:0;background:none;border:0}
.tcs-shared-header .menu-toggle{display:none!important}
html body .tcs-shared-header .tcs-nav-link{position:relative;font:400 18px/1.45 Cardo,'Noto Serif JP',serif!important;letter-spacing:0!important;text-decoration:none;white-space:nowrap;background:none!important}
.tcs-nav-link:before,.tcs-nav-link:after{display:none!important}
.tcs-nav-link .tcs-hover-circle{position:absolute;left:-12px;top:50%;width:calc(100% + 24px);height:44px;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity 180ms ease}
.tcs-nav-link .tcs-hover-circle path{stroke:currentColor;stroke-width:1.1;stroke-opacity:.7;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.215,.61,.355,1)}
.tcs-nav-link:focus-visible .tcs-hover-circle{opacity:1}
.tcs-nav-link:focus-visible .tcs-hover-circle path{stroke-dashoffset:0}
.tcs-shared-header .lang{display:flex;gap:9px;font:12px/1.5 Inter,sans-serif;margin-left:6px;white-space:nowrap}
.tcs-portable-toggle{position:fixed;top:30px;right:50px;width:44px;height:44px;border:0;background:none;color:#292d28;z-index:20040;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:7px}
.tcs-portable-toggle .l-gnav-toggle__bar{display:block;width:30px;height:1px;position:relative}
.tcs-portable-toggle .l-gnav-toggle__bar-front{position:absolute;inset:0;background:currentColor}
.tcs-portable-toggle.tcs-menu-is-open .l-gnav-toggle__bar:first-child{transform:translateY(4px) rotate(45deg)}
.tcs-portable-toggle.tcs-menu-is-open .l-gnav-toggle__bar:last-child{transform:translateY(-4px) rotate(-45deg)}
html body .l-gnav.tcs-index-menu:not([aria-hidden=false]){visibility:hidden;pointer-events:none}
.tcs-index-menu .tcs-menu-top{position:static;background:none;backdrop-filter:none;border:0;padding:0 80px 0 0;view-transition-name:none}
.tcs-index-menu .tcs-menu-foot{position:static;background:none}
html.is-unscroll{overflow:hidden}
.tcs-inner-panel{position:absolute;top:100%;left:0;right:0;padding:30px 60px 54px;background:rgba(248,247,244,.86);backdrop-filter:blur(20px);mask-image:linear-gradient(#000 calc(100% - 24px),transparent);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 760ms ease-in-out,visibility 0s linear 760ms}
.is-panel-open .tcs-inner-panel{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 760ms ease-in-out,visibility 0s}
.tcs-inner-panel-grid{display:flex;justify-content:center;gap:40px;max-width:1300px;margin:auto;transform:translateY(8px);transition:transform 600ms cubic-bezier(.32,.72,0,1)}
.is-panel-open .tcs-inner-panel-grid{transform:none}
.tcs-inner-panel-grid>a{display:block;width:232px;font:14px/1.5 Inter,'Noto Sans JP',sans-serif;text-decoration:none;color:#292d28}
.tcs-inner-panel-grid img{width:100%;height:auto;aspect-ratio:2;object-fit:cover;display:block;margin-bottom:12px}
@media(min-width:1025px) and (max-width:1350px){.tcs-shared-header{padding-left:40px;padding-right:106px;gap:20px}.tcs-shared-header #flow-menu{gap:18px}html body .tcs-shared-header .tcs-nav-link{font-size:16px!important}.tcs-inner-panel-grid{gap:24px}.tcs-portable-toggle{right:30px}}
@media(max-width:1024px){.tcs-shared-header{min-height:88px;padding:11px 100px 11px 40px}.tcs-shared-header #flow-menu{display:none}.tcs-portable-toggle{top:22px;right:30px}.tcs-inner-panel{display:none}}
@media(max-width:767px){.tcs-shared-header{min-height:78px;padding:12px 80px 12px 24px}.tcs-shared-header .brand img{width:115px;height:51px}.tcs-portable-toggle{top:17px;right:14px}.tcs-index-menu .tcs-menu-top{padding-right:55px}}
/* Hover moves the two lines in opposite directions, keeping the open X intact. */
@media(hover:hover) and (pointer:fine){
 .tcs-nav-link:hover .tcs-hover-circle{opacity:1}.tcs-nav-link:hover .tcs-hover-circle path{stroke-dashoffset:0}
 html body .l-gnav-toggle .l-gnav-toggle__bar-front{transition:transform 280ms cubic-bezier(.23,1,.32,1)!important}
 html:not(.is-gnav-open) body .l-gnav-toggle:hover .l-gnav-toggle__bar:first-child .l-gnav-toggle__bar-front{transform:translateX(-4px) scaleX(.8)!important}
 html:not(.is-gnav-open) body .l-gnav-toggle:hover .l-gnav-toggle__bar:last-child .l-gnav-toggle__bar-front{transform:translateX(4px) scaleX(.8)!important}
}
@media(prefers-reduced-motion:reduce){.tcs-inner-panel{transition:opacity 120ms ease}.tcs-inner-panel-grid{transition:none;transform:none}.tcs-nav-link .tcs-hover-circle path,html body .l-gnav-toggle .l-gnav-toggle__bar-front{transition:none!important}}

.tcs-index-menu .tcs-menu-index{align-items:stretch}.tcs-index-menu button{border:0;background:none}.tcs-index-menu a{text-decoration:none}.tcs-index-menu .tcs-menu-language button{font:12px/1.5 Inter,sans-serif;cursor:pointer}

.tcs-menu-index a[aria-current] .tcs-menu-word{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}

/* Current location is quiet; the oval belongs to hover and keyboard focus. */
.tcs-nav-link[aria-current],.tcs-header-link[aria-current]{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:6px!important}
html body .tcs-shared-header .lang,html body .tcs-shared-header .lang button,html body .l-header .swap-lang{font:400 14px/1.5 Cardo,'Noto Serif JP',serif!important;letter-spacing:0!important}
html body .tcs-shared-header .lang button{text-decoration:none!important}
.tcs-shared-header .lang button[aria-pressed=false]{opacity:.45}.tcs-shared-header .lang button[aria-pressed=true]{opacity:1}
.tcs-shared-header{border-bottom-color:rgba(41,45,40,.08)}
.l-header .l-header-member-ship,.l-header .l-header-language{border-left:0!important;border-right:0!important}
.l-header .l-header-member-ship:before,.l-header .l-header-member-ship:after,.l-header .l-header-language:before,.l-header .l-header-language:after{display:none!important}

html body .tcs-menu-language,html body .tcs-menu-language button{font:400 14px/1.5 Cardo,sans-serif!important;text-decoration:none!important;color:#292d28}html body .tcs-menu-language button[aria-pressed=false]{opacity:.45}html body .tcs-menu-language button[aria-pressed=true]{opacity:1}

/* Language hierarchy uses weight rather than faded grey text. */
html body .tcs-shared-header .lang button,html body .tcs-menu-language button,html body .l-header .swap-lang [data-lang],html.is-megamenu-open body .l-header .swap-lang [data-lang]:not(.on){opacity:1!important}
html body .tcs-shared-header .lang button[aria-pressed=true],html body .tcs-menu-language button[aria-pressed=true],html body .l-header .swap-lang [data-lang].on{font-weight:700!important}
