/*!
 * Sentio for Elementor - hero-typewriter widget
 * Extracted from frontend.css during Batch 2356 Checkpoint 1 mechanical extraction (2026-04-19).
 * Tier 3 mechanical extraction — verbatim from monolith.
 */

/* ==========================================================================
   HERO-08: TYPEWRITER (.sentio-htw)
   ========================================================================== */

.sentio-htw {
	position: relative; width: 100%; overflow: hidden; background: #000;
}
.sentio-htw--fullscreen { height: 100vh; }
.sentio-htw--fixed { height: var(--htw-height, 700px); }

/* Background slides */
.sentio-htw__slides { position: absolute; inset: 0; }
.sentio-htw__slide-bg {
	position: absolute; inset: 0; opacity: 0;
	transition: opacity 0.8s ease;
}
.sentio-htw__slide-bg--active { opacity: 1; }
.sentio-htw__slide-bg img { width: 100%; height: 100%; object-fit: cover; }
.sentio-htw__overlay {
	position: absolute; inset: 0;
	/* background supplied by the overlay_background Group_Control_Background (selector {{WRAPPER}} .sentio-htw__overlay) */
}

/* Blur during typing */
.sentio-htw[data-bg-blur="true"] .sentio-htw__slide-bg img { transition: filter 0.5s ease, opacity 0.8s ease; }
.sentio-htw.sentio-htw--typing .sentio-htw__slide-bg--active img { filter: blur(var(--htw-blur, 4px)); }

/* Content */
.sentio-htw__content {
	position: relative; z-index: 3; width: 100%; height: 100%;
	display: flex; align-items: center; padding: 60px;
}
.sentio-htw__content--left { justify-content: flex-start; }
.sentio-htw__content--center { justify-content: center; text-align: center; }
.sentio-htw__content--right { justify-content: flex-end; text-align: right; }
.sentio-htw__content-inner { max-width: var(--htw-content-max-w, 800px); }

.sentio-htw__title {
	font-size: 52px; font-weight: 800; color: var(--htw-title-color, #fff);
	margin: 0 0 16px; line-height: 1.2; min-height: 1.2em;
}
.sentio-htw__prefix { color: var(--htw-prefix-color, #fff); }
.sentio-htw__typed { color: inherit; }

/* Cursor */
.sentio-htw__cursor {
	display: inline-block;
	animation: sentio-htw-blink var(--htw-cursor-blink, 530ms) step-end infinite;
}
.sentio-htw__cursor--pipe { font-weight: 100; }
.sentio-htw__cursor--underscore { text-decoration: underline; }
.sentio-htw__cursor--block { background: #fff; color: transparent; width: 0.6em; text-align: center; }
.sentio-htw__cursor--none { display: none; }

@keyframes sentio-htw-blink {
	50% { opacity: 0; }
}

.sentio-htw__subtitle {
	font-size: 18px; color: var(--htw-subtitle-color, rgba(255,255,255,0.85));
	margin: 0 0 24px; line-height: 1.5; opacity: 0;
	transition: opacity 0.5s ease;
}
.sentio-htw__subtitle--visible { opacity: 1; }

.sentio-htw__buttons { opacity: 0; transition: opacity 0.5s ease 0.2s; }
.sentio-htw__buttons--visible { opacity: 1; }

.sentio-htw__btn {
	display: inline-flex; padding: 14px 36px; border-radius: 8px;
	background: var(--htw-btn-bg, #fff); color: var(--htw-btn-color, #111);
	font-size: 16px; font-weight: 600; text-decoration: none; transition: all 0.3s; line-height: 1.2;
}
.sentio-htw__btn:hover { transform: translateY(-2px); }

/* Arrows + Dots */
.sentio-htw__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
	width: 48px; height: 48px; border-radius: 50%;
	background: rgba(255,255,255,0.15); color: #fff; border: none; cursor: pointer;
	display: flex; align-items: center; justify-content: center; font-size: 18px; transition: background 0.2s;
}
.sentio-htw__arrow--prev { left: 24px; }
.sentio-htw__arrow--next { right: 24px; }
.sentio-htw__dots { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); z-index: 10; display: flex; gap: 10px; }
.sentio-htw__dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,0.4); border: none; cursor: pointer; padding: 0; transition: all 0.3s; }
.sentio-htw__dot--active { background: #fff; transform: scale(1.3); }

@media (max-width: 767px) {
	.sentio-htw__title { font-size: 32px; }
	.sentio-htw__content { padding: 30px 20px; }
}

