
/* STUDIOFENCE cinematic Info module – isolated styles, no external fonts, no images. */
.sfc-stage{--sfc-bg:#0b0b0a;--sfc-fg:#efede8;--sfc-muted:#b7b4ad;--sfc-faint:#96928a;--sfc-sans:"Helvetica Neue",Arial,"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;--sfc-serif:Georgia,"Times New Roman",serif;position:relative;isolation:isolate;width:100%;max-width:none;min-width:0;height:clamp(670px,82svh,900px);overflow:hidden;background:radial-gradient(ellipse 90% 60% at 50% 50%,#171715 0%,#0b0b0a 84%);color:var(--sfc-fg);font-family:var(--sfc-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.sfc-stage *{box-sizing:border-box}
.sfc-stage::before{content:"";pointer-events:none;position:absolute;inset:0;z-index:4;box-shadow:inset 0 0 110px rgba(0,0,0,.32)}
.sfc-stage::after{content:"";pointer-events:none;position:absolute;inset:0;z-index:4;background:linear-gradient(180deg,rgba(9,9,8,.12) 0%,transparent 18%,transparent 84%,rgba(9,9,8,.28) 100%)}
.sfc-top-rule,.sfc-bottom-rule{position:absolute;z-index:7;left:clamp(18px,4vw,52px);right:clamp(18px,4vw,52px);height:1px;background:rgba(238,236,230,.13);pointer-events:none}
.sfc-top-rule{top:16px}.sfc-bottom-rule{bottom:13px}
.sfc-identity{position:absolute;z-index:6;top:clamp(32px,5vh,58px);left:20px;right:20px;text-align:center;pointer-events:none;transition:opacity 1.2s ease,transform 1.2s ease;max-width:none}
.sfc-eyebrow{margin:0 0 12px;font:400 9px/1.6 var(--sfc-sans);letter-spacing:.3em;color:var(--sfc-faint)}
.sfc-mark{margin:0;font:400 clamp(32px,4.5vw,59px)/1.02 var(--sfc-serif);letter-spacing:-.038em;color:#e8e5df}
.sfc-window{position:absolute;inset:clamp(158px,22vh,208px) 0 clamp(95px,12vh,144px);z-index:2;overflow:hidden;mask-image:linear-gradient(180deg,transparent 0%,black 11%,black 87%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,black 11%,black 87%,transparent 100%)}
.sfc-track{position:absolute;left:50%;top:0;width:min(900px,88%);transform:translate3d(-50%,100vh,0);will-change:transform}
.sfc-entry{text-align:center;padding:0 0 clamp(80px,12vh,129px)}
.sfc-entry:last-child{padding-bottom:0}
.sfc-en{margin:0;color:var(--sfc-fg);font:400 clamp(28px,3.1vw,43px)/1.24 var(--sfc-sans);letter-spacing:-.028em;overflow-wrap:normal;word-break:normal}
.sfc-line{display:block}
.sfc-jp{margin:17px auto 0;max-width:760px;color:var(--sfc-muted);font:400 clamp(12px,1.2vw,15px)/1.9 var(--sfc-sans);letter-spacing:.02em;overflow-wrap:anywhere}
.sfc-final{position:absolute;inset:0;z-index:5;display:grid;align-content:center;justify-items:center;gap:20px;text-align:center;max-width:none;padding:clamp(26px,6vw,78px);opacity:0;transform:translateY(16px);pointer-events:none}
.sfc-final.sfc-is-visible{animation:sfcFinalAppear 4.4s cubic-bezier(.2,.68,.2,1) forwards}
.sfc-final-line{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;column-gap:clamp(44px,6.5vw,105px);row-gap:10px;margin:0;color:#faf8f2;font:400 clamp(36px,5vw,74px)/1.15 var(--sfc-serif);letter-spacing:-.032em}
.sfc-final-line em{font-weight:400;white-space:nowrap}
.sfc-final-jp{margin:0;color:#c5c0b7;font:400 clamp(12px,1.2vw,15px)/1.9 var(--sfc-sans);letter-spacing:.03em;opacity:0}
.sfc-final.sfc-is-visible .sfc-final-jp{animation:sfcJpAppear 2.4s ease 1.75s both}
.sfc-stage.sfc-has-final .sfc-identity{opacity:0;transform:translateY(-5px)}
.sfc-stage.sfc-has-final .sfc-window{opacity:0;transition:opacity .4s ease}
.sfc-controls{position:absolute;left:clamp(18px,4vw,52px);right:clamp(18px,4vw,52px);bottom:clamp(22px,4vh,48px);z-index:8;display:flex;align-items:end;justify-content:space-between;gap:22px;max-width:none;margin:0;padding:0;color:var(--sfc-faint);font:400 10px/1.6 var(--sfc-sans);letter-spacing:.10em}
.sfc-progress{margin:0;color:#aaa79f;white-space:nowrap;font-size:10px;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.sfc-actions{display:flex;align-items:center;gap:clamp(12px,2.2vw,27px);flex-wrap:wrap;justify-content:end}
.sfc-actions button{display:inline-block;appearance:none;border:0;border-bottom:1px solid rgba(241,238,230,.36);border-radius:0;padding:6px 0;background:transparent;color:#d6d2c9;cursor:pointer;font:inherit;letter-spacing:.055em;white-space:nowrap;transition:color .25s ease,border-color .25s ease}
.sfc-actions button:hover{color:#fff;border-color:#fff}
.sfc-actions button:focus-visible{outline:2px solid #fff;outline-offset:5px}
.sfc-actions button:disabled{opacity:.42;cursor:default}
@keyframes sfcFinalAppear{0%{opacity:0;transform:translateY(16px);filter:blur(2.4px)}22%{opacity:.16;transform:translateY(13px);filter:blur(1.9px)}55%{opacity:.66;transform:translateY(6px);filter:blur(.65px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes sfcJpAppear{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
.sfc-stage.sfc-paused .sfc-final,.sfc-stage.sfc-paused .sfc-final-jp{animation-play-state:paused!important}
.sfc-preview-page{margin:0;min-height:100%;background:#0b0b0a;color:#efede8}
.sfc-preview-page .sfc-stage{height:100svh;min-height:560px;max-height:none}
@media(max-width:720px){
 .sfc-stage{height:clamp(580px,88svh,860px)}
 .sfc-identity{top:36px}
 .sfc-eyebrow{font-size:9px;margin-bottom:10px;letter-spacing:.22em}
 .sfc-mark{font-size:clamp(33px,9.4vw,44px)}
 .sfc-window{top:143px;bottom:136px}
 .sfc-track{width:90%}
 .sfc-entry{padding-bottom:clamp(88px,13vh,114px)}
 .sfc-en{font-size:clamp(24px,6.2vw,32px);line-height:1.28;letter-spacing:-.032em}
 .sfc-jp{font-size:12px;line-height:1.85;margin-top:14px}
 .sfc-final-line{display:grid;row-gap:24px;font-size:clamp(37px,9vw,52px)}
 .sfc-final{gap:25px;padding:24px 16px}
 .sfc-final-jp{max-width:92%;font-size:12px}
 .sfc-controls{align-items:stretch;flex-direction:column;gap:6px;bottom:28px;left:17px;right:17px}
 .sfc-progress{font-size:9px;text-align:center}
 .sfc-actions{justify-content:space-between;gap:12px}
 .sfc-actions button{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .sfc-stage{height:auto!important;max-height:none!important;min-height:0!important;padding:45px 20px!important;overflow:visible}
 .sfc-stage::before,.sfc-stage::after,.sfc-top-rule,.sfc-bottom-rule{display:none}
 .sfc-stage .sfc-identity,.sfc-stage .sfc-window,.sfc-stage .sfc-track,.sfc-stage .sfc-final,.sfc-stage .sfc-controls{position:static!important;inset:auto!important;transform:none!important;filter:none!important;mask-image:none!important;-webkit-mask-image:none!important;opacity:1!important;animation:none!important}
 .sfc-stage .sfc-identity{margin-bottom:70px;max-width:none}
 .sfc-stage .sfc-window{overflow:visible}
 .sfc-stage .sfc-track{width:100%!important;margin:0 auto;will-change:auto}
 .sfc-stage .sfc-entry{padding-bottom:72px}
 .sfc-stage .sfc-final{display:grid!important;margin-top:15px;padding:25px 0 0!important;gap:18px;max-width:none}
 .sfc-stage .sfc-final-jp{opacity:1!important;transform:none!important;animation:none!important}
 .sfc-stage .sfc-controls{display:none!important}
}
.sfc-no-js{height:auto!important;max-height:none!important;min-height:0!important;padding:45px 20px!important;overflow:visible!important}
.sfc-no-js .sfc-identity,.sfc-no-js .sfc-window,.sfc-no-js .sfc-track,.sfc-no-js .sfc-final{position:static!important;inset:auto!important;transform:none!important;filter:none!important;opacity:1!important;mask-image:none!important;-webkit-mask-image:none!important;animation:none!important}
.sfc-no-js .sfc-identity{margin-bottom:70px}
.sfc-no-js .sfc-track{width:100%!important;margin:0 auto}
.sfc-no-js .sfc-window{overflow:visible}
.sfc-no-js .sfc-entry{padding-bottom:70px}
.sfc-no-js .sfc-final-jp{opacity:1!important}
.sfc-no-js .sfc-controls{display:none!important}
