#banawat-intro-overlay {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--banawat-bg, #ffffff);
	font-family: var(--banawat-font, inherit);
	transition-property: opacity, visibility;
	transition-timing-function: ease;
	overflow: hidden;
}

#banawat-intro-overlay.banawat-intro-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

body.banawat-intro-active {
	overflow: hidden;
}

.banawat-intro-inner {
	text-align: center;
	position: relative;
	z-index: 2;
}

.banawat-intro-logo-wrap {
	position: relative;
	display: inline-block;
	overflow: hidden;
	margin: 0 auto;
}

.banawat-intro-logo {
	display: block;
	height: auto;
	opacity: 0;
	animation-timing-function: cubic-bezier(.16,.84,.36,1);
	animation-fill-mode: forwards;
}

.banawat-intro-logo-mask {
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	height: 0;
}

.banawat-intro-signature-wrap {
	margin: 0 auto;
	line-height: 0;
}
.banawat-intro-signature-svg {
	width: 100%;
	height: auto;
	display: block;
	overflow: visible;
}
.banawat-intro-signature-svg .banawat-ink { fill: var(--banawat-text, #1c1c1a); }
.banawat-intro-signature-svg .banawat-gold { fill: var(--banawat-accent, #c9a15a); }
.banawat-intro-signature-svg .banawat-letter,
.banawat-intro-signature-svg .banawat-sub-letter,
.banawat-intro-signature-svg .banawat-tag-letter,
.banawat-intro-signature-svg .banawat-b-swash {
	opacity: 0;
}
.banawat-intro-signature-svg .banawat-divider {
	transform: scaleX(0);
}
.banawat-intro-signature-svg .banawat-divider-left { transform-origin: left center; }
.banawat-intro-signature-svg .banawat-divider-right { transform-origin: right center; }

@keyframes banawat-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes banawat-letter-in {
	from { opacity: 0; transform: translateY(5px); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes banawat-divider-in {
	to { transform: scaleX(1); }
}

/* Fade & scale (default) */
#banawat-intro-overlay[data-animation="fade-scale"] .banawat-intro-logo {
	animation-name: banawat-fade-scale;
}
@keyframes banawat-fade-scale {
	from { opacity: 0; transform: scale(.82) translateY(14px); }
	to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* Slide up */
#banawat-intro-overlay[data-animation="slide-up"] .banawat-intro-logo {
	animation-name: banawat-slide-up;
}
@keyframes banawat-slide-up {
	from { opacity: 0; transform: translateY(48px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Curtain reveal */
#banawat-intro-overlay[data-animation="curtain"] .banawat-intro-logo {
	animation-name: banawat-fade-scale;
}
.banawat-intro-curtain {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	background: var(--banawat-bg, #ffffff);
	z-index: 3;
	animation-timing-function: cubic-bezier(.76,0,.24,1);
	animation-fill-mode: forwards;
}
.banawat-intro-curtain-l { left: 0; animation-name: banawat-curtain-l; }
.banawat-intro-curtain-r { right: 0; animation-name: banawat-curtain-r; }
@keyframes banawat-curtain-l { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes banawat-curtain-r { from { transform: translateX(0); } to { transform: translateX(100%); } }

/* Zoom out of blur */
#banawat-intro-overlay[data-animation="zoom-blur"] .banawat-intro-logo {
	animation-name: banawat-zoom-blur;
}
@keyframes banawat-zoom-blur {
	from { opacity: 0; transform: scale(1.5); filter: blur(14px); }
	to   { opacity: 1; transform: scale(1); filter: blur(0); }
}

/* Spin in */
#banawat-intro-overlay[data-animation="spin"] .banawat-intro-logo {
	animation-name: banawat-spin-in;
}
@keyframes banawat-spin-in {
	from { opacity: 0; transform: rotate(-18deg) scale(.7); }
	to   { opacity: 1; transform: rotate(0) scale(1); }
}

/* Wipe reveal left to right */
#banawat-intro-overlay[data-animation="wipe"] .banawat-intro-logo {
	animation-name: banawat-wipe;
	opacity: 1;
}
@keyframes banawat-wipe {
	from { clip-path: inset(0 100% 0 0); }
	to   { clip-path: inset(0 0 0 0); }
}

.banawat-intro-shine {
	position: absolute;
	top: 0;
	left: -60%;
	width: 40%;
	height: 100%;
	background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--banawat-accent, #c9a15a) 55%, transparent), transparent);
	transform: skewX(-20deg);
	animation-name: banawat-shine-sweep;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes banawat-shine-sweep { to { left: 140%; } }

.banawat-intro-line {
	display: block;
	width: 0;
	height: 1px;
	background: var(--banawat-accent, #c9a15a);
	margin: 22px auto 0;
	animation-name: banawat-line-grow;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes banawat-line-grow { to { width: 120px; } }

.banawat-intro-loading-text,
.banawat-intro-tagline {
	margin: 0;
	color: var(--banawat-text, #1c1c1a);
	opacity: 0;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
	animation-name: banawat-text-in;
}
@keyframes banawat-text-in {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

.banawat-intro-loading-text {
	margin-top: 16px;
	font-size: var(--banawat-text-size, 13px);
	letter-spacing: 3px;
	text-transform: uppercase;
}

.banawat-intro-tagline {
	margin-top: 8px;
	font-size: calc(var(--banawat-text-size, 13px) - 1px);
	letter-spacing: 1px;
	color: color-mix(in srgb, var(--banawat-text, #1c1c1a) 70%, transparent);
}

.banawat-intro-progress {
	display: block;
	width: 120px;
	height: 2px;
	margin: 18px auto 0;
	background: color-mix(in srgb, var(--banawat-accent, #c9a15a) 20%, transparent);
	overflow: hidden;
}
.banawat-intro-progress-fill {
	display: block;
	height: 100%;
	width: 0%;
	background: var(--banawat-accent, #c9a15a);
	animation-name: banawat-progress-fill;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
}
@keyframes banawat-progress-fill { to { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
	.banawat-intro-logo,
	.banawat-intro-shine,
	.banawat-intro-line,
	.banawat-intro-loading-text,
	.banawat-intro-tagline,
	.banawat-intro-progress-fill,
	.banawat-intro-curtain,
	.banawat-intro-signature-svg .banawat-letter,
	.banawat-intro-signature-svg .banawat-sub-letter,
	.banawat-intro-signature-svg .banawat-tag-letter,
	.banawat-intro-signature-svg .banawat-b-swash,
	.banawat-intro-signature-svg .banawat-divider {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		clip-path: none !important;
	}
	.banawat-intro-signature-svg #banawat-b-main {
		fill: var(--banawat-text, #1c1c1a) !important;
		stroke: none !important;
	}
	.banawat-intro-line { width: 120px; }
	.banawat-intro-progress-fill { width: 100%; }
	.banawat-intro-curtain { display: none; }
}
