/* Homepage header/footer styles scoped to chrome; no inner-content reset. */
.yz-chrome{
  --black:#000000;
  --night:#0b0b0a;
  --coal:#141413;
  --card:#1b1a18;
  --white:#ffffff;
  --text:#efebe3;
  --sub:#d3cdc2;
  --gold:#c9a45c;
  --gold-hi:#e2c27f;
  --f-mincho:"Shippori Mincho","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  --f-latin:"Cormorant Garamond","Times New Roman",Georgia,serif;
  --gutter:clamp(20px,5vw,80px);
  --max:1280px;
  --ease:cubic-bezier(.22,.8,.2,1);
  --ease-io:cubic-bezier(.77,0,.18,1);
  color-scheme:dark;
font-family:var(--f-mincho);font-size:19px;line-height:2.2;letter-spacing:.07em;-webkit-font-smoothing:antialiased;}
.yz-chrome,.yz-chrome *{box-sizing:border-box}
.yz-chrome [hidden],.yz-chrome[hidden]{display:none!important}
.yz-chrome a{color:inherit;text-decoration:none}
.yz-chrome p,.yz-chrome h1,.yz-chrome h2,.yz-chrome h3{margin:0}
.yz-chrome :focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.yz-chrome .wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.yz-chrome.hd{position:fixed;inset-inline:0;top:0;z-index:60;padding-top:env(safe-area-inset-top,0px);color:var(--white);transition:background .6s,opacity 1.2s,transform 1.2s var(--ease);background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,0))}
.yz-chrome.hd{opacity:1;transform:none}
.yz-chrome .hd__in{max-width:1480px;margin-inline:auto;display:flex;align-items:center;gap:28px;padding:24px var(--gutter);transition:padding .5s var(--ease)}
.yz-chrome .logo{display:flex;flex-direction:column;line-height:1}
.yz-chrome .logo b{font-family:var(--f-latin);font-weight:500;font-size:30px;letter-spacing:.36em}
.yz-chrome .logo small{font-size:11px;letter-spacing:.3em;margin-top:9px;color:var(--gold-hi)}
.yz-chrome .nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,38px);margin-left:auto}
.yz-chrome .nav a{display:flex;flex-direction:column;align-items:center;line-height:1.3;text-shadow:0 1px 10px rgba(0,0,0,.6);transition:color .3s}
.yz-chrome .nav a span{font-size:16.5px;letter-spacing:.14em}
.yz-chrome .nav a small{font-family:var(--f-latin);font-style:italic;font-size:13px;letter-spacing:.08em;color:var(--gold);margin-top:3px;transition:color .3s}
.yz-chrome .nav a:hover,.yz-chrome .nav a.is-current{color:var(--gold-hi)}
.yz-chrome .nav .nav__cta{margin-left:6px;padding:12px 24px;border:1px solid var(--gold);text-shadow:none;transition:background .4s,color .4s}
.yz-chrome .nav .nav__cta:hover{background:var(--gold);color:var(--black)}
.yz-chrome .nav .nav__cta:hover small{color:var(--black)}
.yz-chrome .lang{display:flex;gap:12px;font-family:var(--f-latin);font-size:15px;letter-spacing:.12em;color:rgba(255,255,255,.7)}
.yz-chrome .lang b{color:var(--gold-hi);font-weight:500}
.yz-chrome.hd.is-fixed{background:rgba(0,0,0,.84);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.yz-chrome.hd.is-fixed .hd__in{padding-block:13px}
.yz-chrome .menu-btn{display:none;margin-left:auto;width:54px;height:54px;background:none;border:0;color:inherit;cursor:pointer;position:relative;z-index:2}
.yz-chrome .menu-btn i{position:absolute;left:13px;right:13px;height:1px;background:currentColor;transition:transform .4s var(--ease)}
.yz-chrome .menu-btn i:nth-child(1){top:22px}
.yz-chrome .menu-btn i:nth-child(2){top:31px}
body.menu-open .yz-chrome .menu-btn i:nth-child(1){transform:translateY(4.5px) rotate(30deg)}
body.menu-open .yz-chrome .menu-btn i:nth-child(2){transform:translateY(-4.5px) rotate(-30deg)}
.yz-chrome.drawer{position:fixed;inset:0;z-index:55;background:rgba(5,5,5,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:90px 20px 40px}
.yz-chrome.drawer a{display:flex;flex-direction:column;line-height:1.45;opacity:0;transform:translateY(16px);animation:upIn .7s var(--ease) forwards;animation-delay:calc(var(--i) * .06s)}
.yz-chrome.drawer a span{font-size:23px;letter-spacing:.2em;color:var(--white)}
.yz-chrome.drawer a small{font-family:var(--f-latin);font-style:italic;font-size:14px;letter-spacing:.1em;color:var(--gold)}
.yz-chrome.drawer .lang{margin-top:18px;font-size:16px}
@keyframes upIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.yz-chrome .cta .wrap{position:relative;z-index:2}
.yz-chrome.ft{background:var(--black);text-align:center;padding-block:110px 50px}
.yz-chrome.ft .logo{display:inline-flex;align-items:center}
.yz-chrome.ft nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 36px;margin-top:46px;font-size:17px;letter-spacing:.14em}
.yz-chrome.ft nav a:hover{color:var(--gold-hi)}
.yz-chrome.ft address{font-style:normal;margin-top:36px;font-size:16.5px;line-height:2.2;color:var(--sub)}
.yz-chrome .ft__c{margin-top:56px;font-family:var(--f-latin);font-size:14px;letter-spacing:.2em;color:#8f8a80}
@media  (max-width:1200px){.yz-chrome .nav,.yz-chrome.hd .lang{display:none}
.yz-chrome .menu-btn{display:block}}
@media  (max-width:820px){.yz-chrome .logo b{font-size:24px;letter-spacing:.3em}
.yz-chrome .hd__in{padding-block:16px}}
/* Interior pages keep their original body typography, spacing and grids. */
body.shared-chrome-page{--yz-header-height:116px}
body.shared-chrome-page .l-main{margin-top:var(--yz-header-height)}
body.shared-chrome-page .hd{background:rgba(0,0,0,.96)}
body.menu-open{overflow:hidden}
.shared-chrome-page .p-breadcrumb{display:none!important}
.yz-chrome .logo{flex-shrink:0}
.yz-chrome .logo img{display:block;width:225px;height:auto;max-width:100%}
.yz-chrome.ft .logo img{width:260px}
.skip-opening #op{display:none!important}
@media(max-width:820px){.yz-chrome.hd .logo img{width:170px}}
.case__link{display:block}
.case:nth-child(even)>.case__link{order:2}
@media(max-width:1360px){.yz-chrome .nav,.yz-chrome.hd .lang{display:none}.yz-chrome .menu-btn{display:block}body.shared-chrome-page{--yz-header-height:102px}}
@media(max-width:1200px){body.shared-chrome-page{--yz-header-height:102px}}
@media(max-width:820px){body.shared-chrome-page{--yz-header-height:86px}.case:nth-child(even)>.case__link{order:0}}
@media(max-width:560px){.yz-chrome.drawer{gap:14px;overflow-y:auto}.yz-chrome .drawer a span{font-size:21px}}
/* Compact chrome and a menu that cannot sit behind the fixed header. */
body,body.shared-chrome-page{--yz-header-height:84px}
.yz-chrome.hd .hd__in{padding-block:12px;gap:20px}
.yz-chrome.hd.is-fixed .hd__in{padding-block:9px}
.yz-chrome.hd .logo img{width:180px}
.yz-chrome .nav a span{font-size:15px;letter-spacing:.1em}
.yz-chrome .nav a small{font-size:12px}
.yz-chrome .nav .nav__cta{padding:8px 18px}
.yz-chrome .menu-btn{width:44px;height:44px}
.yz-chrome .menu-btn i{left:8px;right:8px}
.yz-chrome .menu-btn i:nth-child(1){top:17px}
.yz-chrome .menu-btn i:nth-child(2){top:26px}
.yz-chrome.drawer{top:var(--yz-drawer-top,var(--yz-header-height));height:calc(100vh - var(--yz-drawer-top,var(--yz-header-height)));height:calc(100dvh - var(--yz-drawer-top,var(--yz-header-height)));justify-content:flex-start;padding:20px 24px calc(20px + env(safe-area-inset-bottom,0px));gap:12px;overflow-y:auto;overscroll-behavior:contain}
.yz-chrome.drawer a{flex-shrink:0;line-height:1.35;opacity:1;transform:none;animation:none}
.yz-chrome.drawer a span{font-size:19px;letter-spacing:.12em;white-space:nowrap}
.yz-chrome.drawer a small{font-size:12px;letter-spacing:.08em}
.yz-chrome.drawer .lang{margin-top:6px;font-size:14px;flex-shrink:0}
@media(max-width:820px){body,body.shared-chrome-page{--yz-header-height:72px}.yz-chrome.hd .hd__in{padding-block:10px}.yz-chrome.hd .logo img{width:160px}}
@media(max-height:600px){.yz-chrome.drawer{gap:8px;padding-block:10px}.yz-chrome.drawer a span{font-size:18px}.yz-chrome.drawer a small{font-size:11px}.yz-chrome.drawer .lang{margin-top:2px;font-size:13px}}
