/* Product wrapper around the migrated homepage rules. No page layout rules. */
@font-face{font-family:MirrismNavigationSans;src:url('/static/izanami/font/Satoshi-Regular.woff') format('woff');font-display:swap}
.m-site-shell{--header-index:210010;--nav-index:210000;--color-black:#0a0801;position:fixed;inset:0;z-index:210000;pointer-events:none;color:#d9d7d4;font:400 14px/1 Cinzel,"Times New Roman",serif}
.m-site-shell *{box-sizing:border-box;color:inherit!important}
.m-site-shell :where(div,span,p,dt,dd){color:inherit}
.m-site-shell .m-site-header{display:block;padding:0;border:0;background:transparent;backdrop-filter:none}
.m-site-shell a{color:inherit;text-decoration:none}
.m-site-shell button{font:inherit!important;color:inherit;background:none;border:0;margin:0;cursor:pointer}
:where(.m-site-shell ul,.m-site-shell dl,.m-site-shell dd){margin:0;padding:0;list-style:none}
.m-site-shell .visuallyHidden{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.m-site-shell .m-site-header{top:0;left:0;width:100%;color:inherit}
.m-site-shell .m-site-header_langLinkText,.m-site-shell .m-site-openTrigger_text,.m-site-shell .m-site-nav_subLinkText{font:400 clamp(10.5px,.875vw,15.75px)/1 Cinzel,serif;white-space:nowrap}
.m-site-shell .m-site-nav_privacy .m-site-nav_subLinkText{font-size:clamp(12px,1vw,18px)}
.m-site-shell .m-site-nav_linkText{font:400 clamp(22.5px,1.875vw,33.75px)/1 Cinzel,serif}
.m-site-shell .m-site-nav_locationHead,.m-site-shell .m-site-nav_locationBody{font:400 clamp(12px,1vw,18px)/1.65 Cinzel,serif}
.m-site-shell .m-site-nav_locationHead{line-height:1}
.m-site-shell [data-site-clone-element=target]{display:grid;overflow:clip;padding-block:.1em}
.m-site-shell [data-site-clone-element=item]{grid-area:1/1;display:inline-flex;align-items:center;transition:transform .7s cubic-bezier(.165,.84,.44,1)}
.m-site-shell [data-site-clone-element=item][aria-hidden=true]{transform:translateY(130%)}
@media(hover:hover) and (pointer:fine){
 .m-site-shell a:hover [data-site-clone-element=item]:not([aria-hidden=true]),.m-site-shell button:hover [data-site-clone-element=item]:not([aria-hidden=true]){transform:translateY(-110%)}
 .m-site-shell a:hover [data-site-clone-element=item][aria-hidden=true],.m-site-shell button:hover [data-site-clone-element=item][aria-hidden=true]{transform:translateY(0)}
}
.m-site-shell .m-site-brand-wordmark{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;aspect-ratio:50/98;container-type:inline-size;font-family:"Songti SC",SimSun,serif}
.m-site-shell .m-site-brand-wordmark>span{writing-mode:vertical-rl;font-size:55cqw;line-height:1;letter-spacing:.08em}
.m-site-shell .m-site-brand-wordmark small{position:absolute;bottom:0;font:400 15cqw/1 MirrismNavigationSans,serif;white-space:nowrap}
.m-site-shell .m-site-nav{visibility:hidden;opacity:0;width:100%;pointer-events:none}
.m-site-shell[data-open] .m-site-nav{visibility:visible;pointer-events:auto}
.m-site-shell .m-site-nav[inert],.m-site-shell .m-site-nav[inert] *{pointer-events:none!important}
.m-site-shell .m-site-nav_contents{overscroll-behavior:contain}
.m-site-shell .m-site-nav_linkText{position:relative}
.m-site-shell .m-site-nav_subLinkLine,.m-site-shell .m-site-header_langLinkLine,.m-site-shell .m-site-openTrigger_line,.m-site-shell .m-site-nav_linkLine{display:block;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.165,.84,.44,1)}
.m-site-shell .m-site-nav_link:hover .m-site-nav_linkLine,.m-site-shell .m-site-nav_link:focus-visible .m-site-nav_linkLine,.m-site-shell .m-site-nav_subLink:hover .m-site-nav_subLinkLine,.m-site-shell .m-site-header_langLink:hover .m-site-header_langLinkLine,.m-site-shell .m-site-openTrigger:hover .m-site-openTrigger_line{transform:scaleX(1)}
.m-site-shell .m-site-nav_linkLine{z-index:2}
.m-site-shell [data-site-header=close]{opacity:0}
.m-site-shell .m-site-openTrigger_textInner{position:relative}
.m-site-shell [data-site-header=close]{position:absolute;inset:0}
.m-site-shell .m-site-openTrigger_body{overflow:hidden}
.m-site-shell .m-site-openTrigger_circle{position:relative;overflow:visible}
.m-site-shell .m-site-openTrigger_circleInner:nth-child(2){opacity:0;transform:translateY(-300%)}
.m-site-shell .m-site-openTrigger_circleInner{transition:transform .7s cubic-bezier(.165,.84,.44,1),opacity .35s linear}
.m-site-shell .m-site-openTrigger:hover .m-site-openTrigger_circleInner:first-child{opacity:0;transform:translateY(300%)}
.m-site-shell .m-site-openTrigger:hover .m-site-openTrigger_circleInner:nth-child(2){opacity:1;transform:translateY(0)}
.m-site-shell .m-site-nav a:focus-visible,.m-site-shell .m-site-header a:focus-visible,.m-site-shell button:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.m-site-shell .m-site-text-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.m-site-shell [data-site-text-rendered]{color:transparent!important}
/* Old runtime nodes remain in place for renderer measurements, not interaction. */
body:has([data-site-navigation]) #root>header.header,body:has([data-site-navigation]) #root .mobile-menu,
body:has([data-site-navigation]) .wrapper>header.header,body:has([data-site-navigation]) .wrapper>nav.nav,
body:has([data-site-navigation]) #header{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
body:has([data-site-navigation]) #root>header.header *,body:has([data-site-navigation]) #header *{pointer-events:none!important}
.mirrism-account-preview:has([data-site-navigation]){--account-header-height:140px}
.mirrism-account-preview .m-account-sections{display:flex;gap:clamp(20px,4vw,64px);margin:0 5vw 12px;justify-content:flex-end;font-size:14px}
.mirrism-account-preview .m-account-sections a{padding:12px 0;color:#b5aea2;white-space:nowrap}
.mirrism-account-preview .m-account-sections [aria-current=page]{color:#ffecd6;border-bottom:1px solid currentColor}
@media not all and (min-width:768px){
 .m-site-shell .m-site-header_langLinkText,.m-site-shell .m-site-openTrigger_text,.m-site-shell .m-site-nav_subLinkText{font-size:2.736318408vw}
 .m-site-shell .m-site-nav_linkText{font-size:5.9701492537vw}
 .m-site-shell .m-site-nav_locationHead,.m-site-shell .m-site-nav_locationBody{font-size:2.736318408vw}
 .m-site-shell .m-site-header_lang{gap:0}
 .m-site-shell .m-site-nav_body{padding-inline-start:42.2885572139vw}
 .mirrism-account-preview:has([data-site-navigation]){--account-header-height:110px}
 .mirrism-account-preview .m-account-sections{justify-content:space-between;gap:8px;margin:0 20px 8px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.m-site-shell *{transition:none!important}}
.m-site-project-return{position:fixed;top:110px;right:5vw;z-index:209990;color:#d9d7d4}
.m-site-project-return #header-center-project-back-btn{position:static!important;display:flex!important;align-items:center;gap:10px;visibility:visible!important;pointer-events:auto!important;transform:none!important;color:inherit;background:none;border:0;padding:8px;font:14px/1 Cinzel,serif}
/* The migrated return uses an always-visible arrow in flex flow. The imported
   hover translation assumes two absolute arrows and otherwise overlaps it. */
.m-site-project-return #header-center-project-back-btn-text{display:block!important;position:static!important;transform:none!important;color:inherit;margin:0}
.m-site-project-return #header-center-project-back-btn-svg{position:static!important;transform:none!important}
.m-site-project-return #header-center-project-back-btn-svg2,.m-site-project-return #project-details-header-back-background{display:none!important}
.mirrism-account-preview .m-account-info-tabs{display:flex;gap:28px;margin:20px 5vw 0;font-size:14px}
.mirrism-account-preview .m-account-info-tabs button{padding:12px 0;border:0;border-bottom:1px solid transparent;background:none;color:#b5aea2;font:inherit;cursor:pointer}
.mirrism-account-preview .m-account-info-tabs [aria-selected=true]{color:#ffecd6;border-bottom-color:currentColor}
.mirrism-account-preview [data-info-panel][hidden]{display:none!important}
.m-site-shell .m-site-nav_subLink.-line{--scale-value:1}
/* Style introductions use the same readable ink as their server-rendered card.
   The dark menu retains its original light ink. Other pages are unaffected. */
body:has(#project-details) .m-site-shell:not([data-open]),
body:has(#project-details) .m-site-project-return{color:var(--landing-text,#d9d7d4)}
/* This button was moved out of the imported header; its old !important ink
   must not override the style card's current readable text colour. */
body:has(#project-details) .m-site-project-return #header-center-project-back-btn{color:var(--landing-text,#d9d7d4)!important}
body:has(#project-details) .m-site-project-return #header-center-project-back-btn-text{color:inherit!important}
