/* Cursor Built motion kit — fonts, base and motion states. */
@font-face{font-family:"Anton";src:url(fonts/anton.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url(fonts/archivo.woff2) format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Fraunces";src:url(fonts/fraunces.woff2) format("woff2-variations");font-weight:100 900;font-display:swap}
@font-face{font-family:"Fraunces";src:url(fonts/fraunces-italic.woff2) format("woff2-variations");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url(fonts/manrope.woff2) format("woff2-variations");font-weight:200 800;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url(fonts/bricolage.woff2) format("woff2-variations");font-weight:200 800;font-display:swap}

html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* Hidden start states only apply while the kit is running. */
.k-js [data-split] .k-w>span{transform:translate3d(0,110%,0)}
.k-js [data-reveal]{opacity:0}
.k-js [data-reveal="clip"]{opacity:1;clip-path:inset(100% 0 0 0)}
.k-static [data-split] .k-w>span{transform:none!important}
.k-static [data-reveal]{opacity:1!important;clip-path:none!important;transform:none!important}
.k-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.18em;margin-bottom:-.18em}
.k-w>span{display:inline-block;will-change:transform}
.k-c{display:inline-block}
[data-reveal="clip"]{overflow:hidden}
[data-reveal="clip"] img,[data-reveal="clip"] video{will-change:transform}

/* Scroll-fill text: words go from faint to solid as you scroll. */
[data-fill] .k-f{opacity:.18;transition:none}
.k-static [data-fill] .k-f{opacity:1}

/* Preloader */
.k-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:space-between;padding:clamp(20px,4vw,48px);background:var(--loader-bg,#0b0b0b);color:var(--loader-fg,#f2f0ea)}
.k-loader [data-loader-count]{font:400 clamp(72px,16vw,220px)/.8 var(--display,"Anton",sans-serif);font-variant-numeric:tabular-nums}
.k-static .k-loader,.k-done .k-loader{display:none}

/* Marquee */
[data-marquee]{overflow:hidden;white-space:nowrap;display:flex}
[data-marquee]>.k-mq{display:flex;flex-shrink:0;will-change:transform}

/* Custom cursor (fine pointers only) */
.k-cursor{position:fixed;left:0;top:0;z-index:9998;pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--cursor,#fff);mix-blend-mode:difference;display:grid;place-items:center;transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1),opacity .2s}
.k-cursor span{font:600 12px/1 var(--text,system-ui);letter-spacing:.04em;color:#000;opacity:0;transition:opacity .2s;white-space:nowrap}
.k-cursor.is-label{width:84px;height:84px;margin:-42px 0 0 -42px;mix-blend-mode:normal;background:var(--cursor-label-bg,var(--accent,#fff))}
.k-cursor.is-label span{opacity:1;color:var(--cursor-label-fg,#000)}
.k-cursor.is-hover{width:44px;height:44px;margin:-22px 0 0 -22px}
@media (hover:none),(pointer:coarse){.k-cursor{display:none}}

/* Floating image for hover lists */
.k-float{position:fixed;left:0;top:0;z-index:50;width:clamp(200px,22vw,320px);aspect-ratio:4/5;pointer-events:none;overflow:hidden;border-radius:var(--radius,6px);opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.k-float.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.k-float img{width:100%;height:100%;object-fit:cover}
@media (hover:none){.k-float{display:none}}

/* Horizontal pinned scroll */
[data-hscroll]{overflow:hidden}
[data-hscroll-track]{display:flex;width:max-content;will-change:transform}
@media (max-width:760px){[data-hscroll]{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}[data-hscroll-track]>*{scroll-snap-align:start}}

/* Before/after */
[data-ba]{position:relative;overflow:hidden;touch-action:pan-y;user-select:none;cursor:ew-resize}
[data-ba]>img{display:block;width:100%;height:100%;object-fit:cover}
[data-ba] [data-ba-top]{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}
[data-ba] [data-ba-top] img{width:100%;height:100%;object-fit:cover}
[data-ba] .k-ba-bar{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:#fff}
[data-ba] .k-ba-bar::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px;border-radius:50%;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.25)}

/* Slides */
[data-slide]{opacity:0;visibility:hidden;transition:opacity 1s,visibility 1s}
[data-slide].is-active{opacity:1;visibility:visible}
[data-slide-tab]{position:relative}
[data-slide-tab] .bar{display:block;height:2px;background:rgba(255,255,255,.25);overflow:hidden}
[data-slide-tab] .bar::after{content:"";display:block;height:100%;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left}
[data-slide-tab].done .bar::after{transform:scaleX(1)}
[data-slide-tab].is-active .bar::after{animation:k-bar var(--dur,5s) linear forwards}
@keyframes k-bar{to{transform:scaleX(1)}}
/* Tabs */
[data-panel][hidden]{display:none!important}

/* Film grain overlay: add <div class="k-grain"></div> */
.k-grain{position:fixed;inset:-50%;z-index:9997;pointer-events:none;opacity:var(--grain,.06);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:k-grain 1s steps(4) infinite}
@keyframes k-grain{0%{transform:translate(0,0)}25%{transform:translate(-5%,3%)}50%{transform:translate(4%,-4%)}75%{transform:translate(-3%,-2%)}100%{transform:translate(2%,5%)}}

/* Header that hides on scroll down */
[data-header]{transition:transform .45s cubic-bezier(.2,.8,.2,1),background-color .3s,backdrop-filter .3s}
[data-header].is-hidden{transform:translateY(-110%)}

@media (prefers-reduced-motion:reduce){.k-grain{animation:none}.k-cursor{display:none}}
