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

/* ==========================================================================
   HERO-03: CLIP-PATH (.sentio-hcp)
   ========================================================================== */

.sentio-hcp {
	position: relative; width: 100%; overflow: hidden; background: #000;
}
.sentio-hcp--fullscreen { height: 100vh; }
.sentio-hcp--fixed { height: var(--hcp-height, 700px); }
.sentio-hcp--full-bleed { width: 100vw; margin-left: calc(-50vw + 50%); }

.sentio-hcp__slides { position: relative; width: 100%; height: 100%; }
.sentio-hcp__slide {
	position: absolute; inset: 0; opacity: 0; z-index: 1;
}
.sentio-hcp__slide--active { opacity: 1; z-index: 2; }

.sentio-hcp__bg {
	width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0;
}
.sentio-hcp__slide[style*="--hcp-bg-pos:top"] .sentio-hcp__bg { object-position: top; }
.sentio-hcp__slide[style*="--hcp-bg-pos:bottom"] .sentio-hcp__bg { object-position: bottom; }

.sentio-hcp__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: var(--hcp-overlay, rgba(0,0,0,0.3));
}

/* Clip reveal layer */
.sentio-hcp__clip-layer {
	position: absolute; inset: 0; z-index: 5; pointer-events: none; overflow: hidden;
}
.sentio-hcp__clip-layer > * {
	position: absolute; inset: 0;
	transition: clip-path var(--hcp-transition-speed, 1200ms) cubic-bezier(0.77, 0, 0.175, 1);
}

/* Content */
.sentio-hcp__content {
	position: absolute; inset: 0; z-index: 3;
	display: flex; align-items: center;
	padding: var(--hcp-content-pad, 80px);
}
.sentio-hcp__content-inner { max-width: var(--hcp-content-max-w, 750px); }

.sentio-hcp__subtitle {
	font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 3px;
	margin: 0 0 12px;
}
.sentio-hcp__title { font-size: 56px; font-weight: 800; margin: 0 0 16px; line-height: 1.1; }
.sentio-hcp__desc { font-size: 18px; margin: 0 0 28px; line-height: 1.6; max-width: 600px; }
.sentio-hcp__btn {
	display: inline-flex; padding: 14px 36px; border-radius: 8px;
	font-size: 16px; font-weight: 600; text-decoration: none; transition: all 0.3s; line-height: 1.2;
}

.sentio-hcp__slide--light .sentio-hcp__subtitle,
.sentio-hcp__slide--light .sentio-hcp__title,
.sentio-hcp__slide--light .sentio-hcp__desc { color: #fff; }
.sentio-hcp__slide--light .sentio-hcp__btn { background: #fff; color: #111; }

.sentio-hcp__slide--dark .sentio-hcp__subtitle,
.sentio-hcp__slide--dark .sentio-hcp__title,
.sentio-hcp__slide--dark .sentio-hcp__desc { color: #111; }
.sentio-hcp__slide--dark .sentio-hcp__btn { background: #111; color: #fff; }

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

/* Alignment */
.sentio-hcp--align-left .sentio-hcp__content { text-align: left; }
.sentio-hcp--align-center .sentio-hcp__content { text-align: center; }
.sentio-hcp--align-center .sentio-hcp__content-inner { margin-left: auto; margin-right: auto; }
.sentio-hcp--align-right .sentio-hcp__content { text-align: right; }
.sentio-hcp--align-right .sentio-hcp__content-inner { margin-left: auto; }

/* Title animation keyframes */
@keyframes sentio-hcp-fade-up { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes sentio-hcp-slide-right { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: none; } }
@keyframes sentio-hcp-char-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

/* Title animation states */
.sentio-hcp--title-fade-up .sentio-hcp__title,
.sentio-hcp--title-slide-right .sentio-hcp__title { opacity: 0; }
.sentio-hcp__title--animate {
	animation-duration: 0.6s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.sentio-hcp--title-fade-up .sentio-hcp__title--animate { animation-name: sentio-hcp-fade-up; }
.sentio-hcp--title-slide-right .sentio-hcp__title--animate { animation-name: sentio-hcp-slide-right; }
.sentio-hcp__title--split .sentio-hcp__char { display: inline-block; opacity: 0; animation: sentio-hcp-char-in 0.4s ease forwards; }

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

