body.kt-top-preview-page{margin:0;background:var(--kt-ink-900);color:var(--kt-white);font-family:var(--kt-font-jp)}
body.kt-top-preview-page *{box-sizing:border-box}body.kt-top-preview-page a{color:inherit;text-decoration:none}body.kt-top-preview-page img{max-width:100%;height:auto}
.kt-site{min-height:100vh;background:var(--kt-ink-900);color:var(--kt-white);overflow-x:hidden}.kt-site button{font:inherit}.kt-site a:focus-visible,.kt-site button:focus-visible{outline:2px solid var(--kt-accent-text);outline-offset:4px}
.kt-section-label{display:flex;align-items:center;gap:16px;color:var(--kt-accent-text);font-family:var(--kt-font-en);font-size:18px;font-weight:700;letter-spacing:.36em}.kt-section-label:before{content:"";width:64px;height:2px;background:var(--kt-accent-base);flex:none}
.kt-section-title{margin:0;font-size:54px;font-weight:900;line-height:1.36;letter-spacing:.04em}.kt-reveal{opacity:0;transform:translateY(28px);transition:opacity .58s var(--kt-ease),transform .58s var(--kt-ease)}.kt-reveal.is-visible{opacity:1;transform:none}
.kt-arrow-link{display:inline-flex;align-items:center;gap:14px;font-family:var(--kt-font-en);font-size:12px;font-weight:500;letter-spacing:.24em}.kt-arrow-link:after{content:"";width:44px;height:1px;background:var(--kt-accent-base);transition:transform .2s var(--kt-ease)}.kt-arrow-link:hover:after{transform:translateX(4px)}
.kt-btn{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;padding:20px 32px;background:var(--kt-accent-fill);font-size:17px;font-weight:700;letter-spacing:.08em}.kt-btn--outline{background:transparent;border:1px solid rgba(255,255,255,.26)}.kt-btn small{display:block;margin-bottom:8px;font-family:var(--kt-font-en);font-size:10px;font-weight:500;letter-spacing:.24em;opacity:.85}.kt-btn:after{content:"";width:34px;height:1px;background:currentColor;flex:none}
@media(max-width:1023px){.kt-section-label{gap:14px;font-size:15px;letter-spacing:.30em}.kt-section-label:before{width:34px}.kt-section-title{font-size:30px;line-height:1.42;letter-spacing:.02em}.kt-btn{min-height:60px;padding:0 24px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.kt-reveal{opacity:1;transform:none;transition:none!important}.kt-site *{scroll-behavior:auto!important}}


/* v0.40 shared interactive states */
.kt-arrow-link{transition:color .25s var(--kt-ease)}
.kt-btn{transition:background-color .25s var(--kt-ease),border-color .25s var(--kt-ease),color .25s var(--kt-ease),transform .25s var(--kt-ease)}
.kt-btn:after{transition:width .3s var(--kt-ease),transform .3s var(--kt-ease)}


/* 2026-10-28 | TOP: use document scrolling only (avoid doubled vertical scrollbars). */
/* This stylesheet is enqueued only on TOP. Keep the document as the single vertical scroller.
   overflow-x:hidden on a content wrapper can compute overflow-y to auto; clip avoids
   creating another scroll container while preserving horizontal clipping. */
html {
  overflow-x: hidden;
  overflow-y: auto;
}
body.kt-top-preview-page {
  overflow-x: clip;
  overflow-y: visible;
}
body.kt-top-preview-page .kt-site {
  overflow-x: clip;
  overflow-y: visible;
}
