/* Kahani Preloader — brandmark intro
   Colours come from --kpr-bg / --kpr-gold / --kpr-text (set by the plugin) */

#kpr-preloader{
	position:fixed;inset:0;z-index:2147483000;
	display:flex;align-items:center;justify-content:center;
	background:var(--kpr-bg,#0B0A09);
	color:var(--kpr-text,#F5ECDC);
	overflow:hidden;
	-webkit-font-smoothing:antialiased;
	--kpr-e:cubic-bezier(.19,1,.22,1);
}

/* warm pool of light behind the mark */
#kpr-preloader.kpr--glow::before{
	content:"";position:absolute;inset:0;pointer-events:none;
	background:radial-gradient(58% 46% at 50% 46%,rgba(233,201,124,.13),transparent 70%);
}

#kpr-preloader .kpr__grain{
	position:absolute;inset:0;pointer-events:none;opacity:.4;mix-blend-mode:overlay;
	background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)' opacity='.5'/%3E%3C/svg%3E");
	background-size:300px 300px;
}

/* ---------- curtain panels ---------- */
#kpr-preloader .kpr__panel{
	position:absolute;left:0;right:0;height:50.5%;
	background:var(--kpr-bg,#0B0A09);z-index:4;
	will-change:transform;
	transition:transform 1s cubic-bezier(.76,0,.24,1);
}
#kpr-preloader .kpr__panel--top{top:0}
#kpr-preloader .kpr__panel--bottom{bottom:0}
#kpr-preloader:not(.kpr--curtain) .kpr__panel{display:none}

/* ---------- content ---------- */
#kpr-preloader .kpr__inner{
	position:relative;z-index:2;
	display:flex;flex-direction:column;align-items:center;
	gap:clamp(20px,3vh,30px);padding:24px;text-align:center;
	transition:opacity .5s var(--kpr-e),transform .7s var(--kpr-e);
}

#kpr-preloader .kpr__mark{
	position:relative;
	width:min(var(--kpr-size,240px),52vw);
	aspect-ratio:700/817;
}

/* ---------- progress ring ---------- */
#kpr-preloader .kpr__ring{position:absolute;inset:-18% -21%;overflow:visible}
#kpr-preloader .kpr__ring path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
#kpr-preloader .kpr-track{stroke:var(--kpr-gold,#E9C97C);stroke-opacity:.16;stroke-width:1}
#kpr-preloader .kpr-arc{
	stroke:var(--kpr-gold,#E9C97C);stroke-width:1.6;
	transition:stroke-dashoffset .28s linear,opacity .5s var(--kpr-e);
}

/* ---------- the mark ---------- */
#kpr-preloader .kpr__iris{
	position:absolute;inset:0;
	clip-path:circle(0% at 50% 50%);
	transition:clip-path 1.5s var(--kpr-e);
}
#kpr-preloader.is-in .kpr__iris{clip-path:circle(78% at 50% 50%)}

#kpr-preloader .kpr__logo{
	position:absolute;inset:0;
	background:var(--kpr-gold,#E9C97C);
	-webkit-mask:var(--kpr-mark) center/contain no-repeat;
	        mask:var(--kpr-mark) center/contain no-repeat;
	transform:scale(1.07);filter:blur(9px);opacity:0;
	transition:transform 1.7s var(--kpr-e),filter 1.4s var(--kpr-e),opacity .9s var(--kpr-e);
}
#kpr-preloader.is-in .kpr__logo{transform:none;filter:blur(0);opacity:1}

/* full-colour mode — the file keeps its own colours */
#kpr-preloader .kpr__img{
	position:absolute;inset:0;width:100%;height:100%;
	object-fit:contain;display:block;
	transform:scale(1.07);filter:blur(9px);opacity:0;
	transition:transform 1.7s var(--kpr-e),filter 1.4s var(--kpr-e),opacity .9s var(--kpr-e);
}
#kpr-preloader.is-in .kpr__img{transform:none;filter:blur(0);opacity:1}

/* ---------- one gold sweep across the artwork ---------- */
#kpr-preloader .kpr__shine{
	position:absolute;inset:0;pointer-events:none;opacity:0;
	-webkit-mask:var(--kpr-mark) center/contain no-repeat;
	        mask:var(--kpr-mark) center/contain no-repeat;
	background:linear-gradient(102deg,transparent 38%,rgba(255,246,225,.95) 50%,transparent 62%);
	background-size:260% 100%;background-position:130% 0;
}
#kpr-preloader.is-shine .kpr__shine{animation:kpr-shine 1.5s var(--kpr-e) forwards}
@keyframes kpr-shine{
	0%{background-position:130% 0;opacity:0}
	22%{opacity:1}
	100%{background-position:-130% 0;opacity:0}
}

/* ---------- wordmark ---------- */
#kpr-preloader .kpr__word{
	margin:0;display:flex;justify-content:center;
	font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
	font-weight:400;
	font-size:clamp(24px,4.2vw,36px);
	letter-spacing:.42em;text-indent:.42em;
	color:var(--kpr-text,#F5ECDC);line-height:1;
}
#kpr-preloader .kpr__word span{display:inline-block;opacity:0;transform:translateY(90%);filter:blur(6px)}
#kpr-preloader.is-in .kpr__word span{animation:kpr-rise 1.1s var(--kpr-e) forwards}
#kpr-preloader .kpr__word .kpr__space{animation:none!important;opacity:1;transform:none;filter:none}
@keyframes kpr-rise{to{opacity:1;transform:none;filter:blur(0)}}

#kpr-preloader .kpr__sub{
	margin:0;display:flex;align-items:center;gap:16px;
	font-size:11px;letter-spacing:.34em;text-transform:uppercase;
	color:var(--kpr-text,#F5ECDC);opacity:0;transform:translateY(10px);
}
#kpr-preloader.is-in .kpr__sub{animation:kpr-fade 1s var(--kpr-e) 1.15s forwards}
@keyframes kpr-fade{to{opacity:.45;transform:none}}
#kpr-preloader .kpr__sub i{
	display:block;width:26px;height:1px;font-style:normal;
	background:var(--kpr-gold,#E9C97C);opacity:.5;
}

/* ---------- counter ---------- */
#kpr-preloader .kpr__count{
	position:absolute;z-index:3;left:0;right:0;
	bottom:clamp(28px,5vh,54px);text-align:center;
	font-family:inherit;font-size:11px;letter-spacing:.3em;
	color:var(--kpr-gold,#E9C97C);opacity:0;
	font-variant-numeric:tabular-nums;
	transition:opacity .6s var(--kpr-e);
}
#kpr-preloader.is-in .kpr__count{opacity:.55}

/* ---------- exits ---------- */
#kpr-preloader.is-done .kpr__inner{opacity:0;transform:translateY(-14px) scale(.97)}
#kpr-preloader.is-done .kpr__count{opacity:0}
#kpr-preloader.is-done .kpr-arc{opacity:0}

#kpr-preloader.kpr--curtain.is-done .kpr__panel--top{transform:translateY(-100%)}
#kpr-preloader.kpr--curtain.is-done .kpr__panel--bottom{transform:translateY(100%)}
#kpr-preloader.kpr--curtain.is-done{background:transparent;transition:background 0s linear .35s}
#kpr-preloader.kpr--curtain.is-done::before,
#kpr-preloader.kpr--curtain.is-done .kpr__grain{opacity:0;transition:opacity .4s ease}

#kpr-preloader.kpr--wipe{transition:transform 1s cubic-bezier(.76,0,.24,1)}
#kpr-preloader.kpr--wipe.is-done{transform:translateY(-100%)}

#kpr-preloader.kpr--fade{transition:opacity .9s ease}
#kpr-preloader.kpr--fade.is-done{opacity:0}

@media (max-width:600px){
	#kpr-preloader .kpr__word{font-size:22px;letter-spacing:.34em;text-indent:.34em}
	#kpr-preloader .kpr__sub{font-size:10px;letter-spacing:.26em;gap:11px}
}

@media (prefers-reduced-motion:reduce){
	#kpr-preloader,#kpr-preloader *{
		animation-duration:.01ms!important;
		transition-duration:.01ms!important;
	}
	#kpr-preloader .kpr__iris{clip-path:none}
	#kpr-preloader .kpr__logo,#kpr-preloader .kpr__img{opacity:1;filter:none;transform:none}
	#kpr-preloader .kpr__word span{opacity:1;transform:none;filter:none}
	#kpr-preloader .kpr__sub{opacity:.45;transform:none}
}
