/* A click-to-enter brand curtain; content stays available when JavaScript is disabled. */
html.intro-pending{overflow:hidden;scroll-behavior:auto;background:#080a0d}
.intro-pending body{overflow:hidden;overscroll-behavior:none}
.intro-pending #site-content{visibility:hidden}
.intro-pending.intro-opening #site-content{visibility:visible}
.intro-pending #site-content *,.intro-pending #site-content *:before,.intro-pending #site-content *:after{animation-play-state:paused!important}
.brand-intro{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:2000;isolation:isolate;overflow:hidden;color:#e6c991;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.intro-panel{position:absolute;top:0;bottom:0;width:calc(50% + 1px);overflow:hidden;background:#080a0d;will-change:transform;transition:transform 1.2s cubic-bezier(.76,0,.24,1)}
.intro-panel-left{left:0;transform:translateX(0)}.intro-panel-right{right:0;transform:translateX(0)}
.intro-stage{position:absolute;top:0;width:100vw;height:100vh;height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 43%,#a47a2c15 0%,transparent 48%),linear-gradient(160deg,#111213,#080a0e 55%,#11120f)}
.intro-panel-left .intro-stage{left:0}.intro-panel-right .intro-stage{right:0}
.intro-stage:before{position:absolute;content:"";inset:7%;border:1px solid #c8a3600b;pointer-events:none}
.intro-stage:after{position:absolute;content:"";left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,#cfac6712,transparent);pointer-events:none}
.intro-identity{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:35px 22px 68px;width:100%;pointer-events:none}
.intro-logo-shell{position:relative;width:170px;height:170px;margin-bottom:33px}
.intro-logo-shell:before,.intro-logo-shell:after{content:"";position:absolute;inset:-14px;border:1px solid #d4b4771d;border-radius:50%;box-shadow:0 0 60px #b8863614;animation:introHalo 5s ease-in-out infinite}
.intro-logo-shell:after{inset:-29px;border-color:transparent;border-top-color:#e1c28239;border-bottom-color:#e1c28212;box-shadow:none;animation:introOrbit 32s linear infinite}
.intro-logo{position:absolute;inset:9px;border:1px solid #d9b6755c;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#000;box-shadow:inset 0 0 20px #c1a16305,0 15px 50px #0006}
.intro-logo>img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.42)}
.intro-name{font-family:var(--font-display,"Noto Sans SC",sans-serif);font-size:46px;line-height:1.6;letter-spacing:.16em;text-indent:.16em;font-weight:700;white-space:nowrap;margin:0;color:#e9cd98;background:linear-gradient(115deg,#f9e7c3,#c59b59 43%,#edce93 75%,#b58845);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.intro-english{font:600 13px/1.8 Arial,sans-serif;letter-spacing:.38em;text-indent:.38em;color:#bca374;margin:15px 0 0}
.intro-rule{display:block;width:56px;height:1px;background:linear-gradient(90deg,transparent,#bc9756,transparent);margin-top:27px}
.intro-hit-area{position:absolute;inset:0;z-index:5;width:100%;height:100%;background:transparent;border:0;padding:0;cursor:pointer;outline:none!important;color:transparent;border-radius:0}
.intro-instruction{position:absolute;z-index:4;left:20px;right:20px;bottom:max(9vh,35px);margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;color:#ac9a78;font:13px/1.8 var(--font);letter-spacing:.15em;pointer-events:none;transition:opacity .25s,transform .5s}
.intro-instruction>small{display:block;flex-basis:100%;font:9px/1.6 Arial,sans-serif;letter-spacing:.3em;text-align:center;color:#776c56;margin-top:3px}
.intro-instruction-dot{width:4px;height:4px;border-radius:50%;background:#c6a05b;box-shadow:0 0 8px #c6a05b44;animation:introHint 2.8s ease-in-out infinite}
.intro-touch-hint{display:none}.intro-hit-area:focus-visible~.intro-instruction{color:#f1d8a8}
.intro-seam{position:absolute;z-index:3;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#dbb97a1a 25%,#f3d9a34a 50%,#dbb97a1a 75%,transparent);transform:scaleY(.7);opacity:.65;transition:opacity .4s,transform .8s}
.intro-burst{position:absolute;z-index:4;left:var(--entry-x,50%);top:var(--entry-y,50%);height:30px;width:30px;border:1px solid #d8b67544;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none}
.intro-opening .intro-panel-left{transform:translateX(-101%)}.intro-opening .intro-panel-right{transform:translateX(101%)}
.intro-opening .intro-instruction{opacity:0;transform:translateY(7px)}.intro-opening .intro-seam{opacity:0;transform:scaleY(1)}
.intro-opening .intro-burst{animation:introBurst 1s ease-out forwards}
.intro-opening .intro-hit-area{cursor:default}
@keyframes introHalo{0%,100%{opacity:.45;transform:scale(.98)}50%{opacity:.95;transform:scale(1.025)}}
@keyframes introOrbit{to{transform:rotate(360deg)}}
@keyframes introHint{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes introBurst{0%{opacity:.6;transform:translate(-50%,-50%) scale(0)}to{opacity:0;transform:translate(-50%,-50%) scale(32)}}
@media(max-width:760px){.intro-logo-shell{width:136px;height:136px;margin-bottom:30px}.intro-logo-shell:before{inset:-11px}.intro-logo-shell:after{inset:-23px}.intro-name{font-size:32px;letter-spacing:.14em;text-indent:.14em}.intro-english{font-size:10px;letter-spacing:.28em;text-indent:.28em;margin-top:13px}.intro-identity{padding-bottom:60px}.intro-rule{width:43px;margin-top:24px}.intro-instruction{font-size:12px;bottom:max(10vh,35px);letter-spacing:.08em}.intro-instruction>small{font-size:8px}.intro-stage:before{inset:5%}}
@media(max-width:360px){.intro-name{font-size:29px}.intro-logo-shell{width:122px;height:122px}.intro-english{font-size:9px;letter-spacing:.28em}}
@media(max-height:520px) and (min-width:600px){.intro-logo-shell{width:100px;height:100px;margin-bottom:22px}.intro-name{font-size:33px}.intro-english{font-size:10px;margin-top:8px}.intro-rule{margin-top:15px}.intro-identity{padding-bottom:35px}.intro-instruction{bottom:22px;font-size:11px}}
@media(hover:none),(pointer:coarse){.intro-desktop-hint{display:none}.intro-touch-hint{display:inline}}
@media(prefers-reduced-motion:reduce){.intro-panel{transition:none!important}.intro-logo-shell:before,.intro-logo-shell:after,.intro-instruction-dot,.intro-burst{animation:none!important}}
