:root{--kct-ink:#171714;--kct-paper:#f3f1ea;--kct-ease:cubic-bezier(.76,0,.24,1)}
.kct-curtain{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;background:var(--kct-ink);color:#fff;transform:translate3d(0,100%,0);visibility:hidden;pointer-events:none;will-change:transform;transition:transform .86s var(--kct-ease),visibility 0s .86s}
.kct-curtain__panel{position:absolute;inset:0;background:linear-gradient(135deg,#1c1b17 0%,#29261f 100%)}
.kct-curtain__panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transform:translateX(-100%)}
.kct-curtain__mark{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px;opacity:0;transform:translateY(18px);transition:opacity .28s ease,transform .5s ease}
.kct-curtain__mark span{font-family:Georgia,serif;font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:.8}
.kct-curtain__mark small{font-size:.62rem;letter-spacing:.32em;white-space:nowrap}
html.kct-loading .kct-curtain,html.kct-leaving .kct-curtain{visibility:visible;transform:translate3d(0,0,0);transition:transform .86s var(--kct-ease),visibility 0s}
html.kct-loading .kct-curtain__mark,html.kct-leaving .kct-curtain__mark{opacity:1;transform:none;transition-delay:.28s}
html.kct-leaving .kct-curtain__panel:after{animation:kct-sheen .72s .18s ease forwards}
html.kct-entering .kct-curtain{visibility:visible;transform:translate3d(0,-100%,0);transition:transform .92s var(--kct-ease),visibility 0s .92s}
html.kct-entering .kct-curtain__mark{opacity:0;transform:translateY(-15px)}
html.kct-resetting .kct-curtain{visibility:hidden!important;transform:translate3d(0,100%,0)!important;transition:none!important}
html.kct-resetting .kct-curtain__mark{opacity:0!important;transition:none!important}
html.kct-js.kct-loading body{overflow:hidden}
html.kct-leaving #main{animation:kct-page-out .58s cubic-bezier(.4,0,.6,1) both;pointer-events:none}
.kct-reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity .85s cubic-bezier(.2,.7,.2,1) var(--kct-delay,0ms),transform 1s cubic-bezier(.2,.7,.2,1) var(--kct-delay,0ms);will-change:opacity,transform}
.kct-reveal.kct-visible{opacity:1;transform:none}
.kct-reveal .box-image img,.kct-reveal .banner-bg{transition:transform 1.1s cubic-bezier(.2,.65,.2,1)}
.kct-reveal.kct-visible .box-image:hover img{transform:scale(1.025)}
@keyframes kct-page-out{to{opacity:.12;transform:translateY(-22px)}}
@keyframes kct-sheen{to{transform:translateX(100%)}}
@media(max-width:849px){.kct-curtain__mark span{font-size:4rem}.kct-reveal{transform:translate3d(0,24px,0)}}
@media(prefers-reduced-motion:reduce){.kct-curtain{display:none!important}html.kct-js.kct-loading body{overflow:auto}html.kct-js.kct-loading #main,.kct-reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}
