/* ELYX motion kit, shared styles. Only active once the kit has initialised (html.mk-motion). */
html.lenis,html.lenis body{height:auto}
html.mk-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}

/* Boot cover: shown only between first paint and the intro, removed by JS or a 3.5s failsafe. */
html.mk-boot body::after{content:"";position:fixed;inset:0;z-index:9998;background:var(--mk-curtain,#0b1620)}

/* Split text. Masks get vertical room so accents and descenders (İ â ş ğ ç g y p) are never clipped. */
mk-m,mk-l,mk-w,mk-c{font:inherit;color:inherit;letter-spacing:inherit}
.mk-mask{display:block;overflow:clip;padding:.16em .04em .14em;margin:-.16em -.04em -.14em}
.mk-line{display:block;transform-origin:0% 100%}
.mk-word{display:inline-block;white-space:nowrap}
.mk-char{display:inline-block;will-change:transform}
.mk-fill{display:inline}

/* Border rules that draw themselves */
.mk-rule-b{border-bottom-color:transparent!important;background-image:linear-gradient(var(--mk-rule-c,currentColor),var(--mk-rule-c,currentColor));background-repeat:no-repeat;background-position:0 100%;background-size:var(--mk-rule,100%) 1px}
.mk-rule-t{border-top-color:transparent!important;background-image:linear-gradient(var(--mk-rule-c,currentColor),var(--mk-rule-c,currentColor));background-repeat:no-repeat;background-position:0 0;background-size:var(--mk-rule,100%) 1px}

/* Intro curtain */
.mk-curtain{position:fixed;inset:0;z-index:9999;align-content:center;gap:30px;background:var(--mk-curtain,#0b1620);color:var(--mk-curtain-ink,#eef2f2);display:grid;place-items:center;clip-path:inset(0 0 0 0);cursor:progress}
.mk-curtain-word{display:flex;font-family:var(--mk-curtain-font,inherit);font-weight:600;font-size:clamp(64px,13vw,190px);line-height:.9;letter-spacing:-.07em}
.mk-cm{display:block;overflow:clip;padding:.08em .015em .1em;margin:-.08em 0 -.1em}
.mk-cc{display:block}
.mk-curtain-meta{position:absolute;left:var(--pad,24px);right:var(--pad,24px);bottom:52px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.04em;opacity:.7}
.mk-curtain-count{font-variant-numeric:tabular-nums}
.mk-curtain-bar{position:absolute;left:var(--pad,24px);right:var(--pad,24px);bottom:38px;height:1px;background:currentColor;opacity:.45;transform-origin:0 50%;transform:scaleX(0)}
.mk-curtain.is-quick .mk-curtain-word,.mk-curtain.is-quick .mk-curtain-meta,.mk-curtain.is-quick .mk-curtain-bar,.mk-curtain.is-quick .mk-curtain-mark{opacity:0}

/* Cursor follower (fine pointers only, created by JS) */
.mk-cursor{position:fixed;left:0;top:0;z-index:9990;pointer-events:none;width:0;height:0;opacity:0;transition:opacity .3s}
.mk-cursor.is-on{opacity:1}
.mk-cursor-ring{position:absolute;left:-17px;top:-17px;width:34px;height:34px;border-radius:50%;border:1px solid var(--mk-cursor,rgba(255,255,255,.85));transition:transform .55s cubic-bezier(.16,1,.3,1),background-color .4s,border-color .4s}
.mk-cursor.is-link .mk-cursor-ring{transform:scale(1.55);background:var(--mk-cursor-fill,rgba(255,255,255,.08))}
.mk-cursor.is-label .mk-cursor-ring{transform:scale(2.6);background:var(--mk-cursor-solid,rgba(20,30,40,.82));border-color:transparent}
.mk-cursor-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%) scale(.6);opacity:0;white-space:nowrap;font-size:11px;letter-spacing:.04em;color:var(--mk-cursor-label,#fff);transition:opacity .3s,transform .5s cubic-bezier(.16,1,.3,1)}
.mk-cursor.is-label .mk-cursor-label{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* Film grain: one static noise tile moved in steps on the compositor */
.mk-grain{position:fixed;inset:-50%;z-index:9980;pointer-events:none;opacity:var(--mk-grain,.06);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.4 -.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:mk-grain 1.1s steps(6) infinite}
@keyframes mk-grain{0%{transform:translate(0,0)}17%{transform:translate(-4%,3%)}33%{transform:translate(3%,-5%)}50%{transform:translate(-6%,-2%)}67%{transform:translate(5%,4%)}83%{transform:translate(-2%,6%)}100%{transform:translate(0,0)}}

@media(prefers-reduced-motion:reduce){html.mk-boot body::after{display:none}.mk-grain{animation:none}.mk-cursor{display:none}}
