/* ==========================================================
   3. INTRO VIDEO – scroll expanding (.itc-vid)
   ========================================================== */
.itc-vid {
	--vd-navy: var(--brand-primary-deep);
	--vd-blue: var(--brand-primary);
	--vd-accent: var(--brand-accent);
	--vd-ink-soft: rgba(15,33,88,0.72);
	--vd-film: #050B1E;
	--vd-font: var(--font-display, 'Mark Pro', 'Plus Jakarta Sans', sans-serif);
	--vd-mono: var(--font-mono, 'IBM Plex Mono', monospace);
	--vd-ease: cubic-bezier(.22,1,.36,1);
	--clipL: calc(var(--pkL, 50) * 1%);
	--clipT: calc(var(--pkT, 74) * 1%);
	--clipR: var(--pkR, 72px);
	position: relative; display: block;
	width: 100vw !important; max-width: 100vw !important;
	left: 50% !important; transform: translateX(-50%) !important;
	margin: 0 !important; padding: 0 !important;
	font-family: var(--vd-font); -webkit-font-smoothing: antialiased;
}
.itc-vid *,.itc-vid *::before,.itc-vid *::after { box-sizing: border-box; }
.itc-vid svg { display: block; }
.itc-vid button { -webkit-appearance: none !important; appearance: none !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 0 !important; color: inherit; font-family: var(--vd-font) !important; line-height: 1.2 !important; cursor: pointer; }
.elementor-widget-shortcode .elementor-widget-container { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.e-con-inner, .elementor-widget-wrap { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.elementor-widget-shortcode { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.itc-vid__track { position: relative; height: calc(100vh + var(--vd-len, 1500px)); margin: 0 !important; padding: 0 !important; }
.itc-vid__pin { position: sticky; top: 0; height: 100vh; width: 100%; display: flex; align-items: center; overflow: hidden; }
.itc-vid__wrap { position: relative; z-index: 1; width: 100%; max-width: var(--vd-wrap, 1320px); margin: 0 auto; padding: 0 clamp(20px,4vw,56px); }
.itc-vid__copy { max-width: min(560px, 40vw); opacity: var(--txtO, 1); transform: translate3d(var(--txtX, 0px), 0, 0); will-change: opacity, transform; }
.itc-vid .itc-vid__eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 22px !important; padding: 0 !important; font-family: var(--vd-mono) !important; font-size: 12px; font-weight: 600; line-height: 1.2; letter-spacing: .2em !important; text-transform: uppercase !important; color: var(--vd-blue); }
.itc-vid .itc-vid__title { margin: 0 !important; padding: 0 !important; font-family: var(--vd-font) !important; font-size: clamp(36px,4.3vw,68px); font-weight: 700; line-height: 1.08; letter-spacing: -.03em; color: var(--vd-blue); }
.itc-vid .itc-vid__text { margin: 24px 0 0 !important; padding: 0 !important; max-width: 46ch; font-size: clamp(15px,1.1vw,17.5px); line-height: 1.7; color: var(--vd-ink-soft); }
.itc-vid .itc-vid__cta { display: inline-flex; align-items: center; gap: 16px; margin-top: 34px; padding: 8px 8px 8px 26px; border-radius: 999px; background: var(--vd-blue); color: #fff !important; text-decoration: none !important; font-size: 16px; font-weight: 600; transition: background-color .3s var(--vd-ease), box-shadow .3s var(--vd-ease); }
.itc-vid__cta i { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #fff; color: var(--vd-blue); transition: transform .35s var(--vd-ease); }
.itc-vid__cta svg { width: 18px; height: 18px; }
.itc-vid .itc-vid__cta:hover { background: var(--vd-navy); box-shadow: 0 14px 30px -12px rgba(15,33,88,.55); }
.itc-vid__cta:hover i { transform: translateX(4px); }
.itc-vid .itc-vid__cta:focus-visible { outline: 3px solid var(--vd-accent); outline-offset: 3px; }
.itc-vid.is-js .itc-vid__copy > * { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--vd-ease), transform .8s var(--vd-ease); }
.itc-vid.is-js.is-in .itc-vid__copy > * { opacity: 1; transform: none; }
.itc-vid.is-in .itc-vid__copy > *:nth-child(2) { transition-delay: .08s; }
.itc-vid.is-in .itc-vid__copy > *:nth-child(3) { transition-delay: .16s; }
.itc-vid.is-in .itc-vid__copy > *:nth-child(4) { transition-delay: .24s; }
.itc-vid__media { position: absolute; inset: 0; z-index: 3; background: var(--vd-film); -webkit-clip-path: inset(var(--clipT) 0 0 var(--clipL) round var(--clipR) 0 0 0); clip-path: inset(var(--clipT) 0 0 var(--clipL) round var(--clipR) 0 0 0); will-change: clip-path; pointer-events: none; }
.itc-vid.is-open .itc-vid__media { pointer-events: auto; }
.itc-vid__video, .itc-vid__yt-wrap { position: absolute; inset: 0; width: 100%; height: 100%; display: block; background: var(--vd-film); overflow: hidden; }
.itc-vid__video { object-fit: cover; object-position: center; }
.itc-vid__yt-wrap iframe { position: absolute; top: 50%; left: 50%; width: 100vw; height: 56.25vw; min-height: 100vh; min-width: 177.78vh; transform: translate(-50%,-50%); border: 0; pointer-events: none; }
.itc-vid .itc-vid__poster { position: absolute !important; inset: 0; z-index: 1; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; object-fit: cover; object-position: center; transform: scale(var(--posterS, 1.12)); transition: opacity .6s var(--vd-ease); pointer-events: none; }
.itc-vid.is-playing .itc-vid__poster { opacity: 0; }
.itc-vid__scrim { position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(15,33,88,.18) 0%, rgba(5,11,30,.42) 100%); transition: opacity .6s var(--vd-ease); pointer-events: none; }
.itc-vid.is-playing .itc-vid__scrim { opacity: 0; }
.itc-vid .itc-vid__play { position: absolute; z-index: 4; left: calc(var(--clipL) + (100% - var(--clipL)) / 2); top: calc(var(--clipT) + (100% - var(--clipT)) / 2); width: clamp(68px,6.2vw,116px) !important; height: clamp(68px,6.2vw,116px) !important; display: grid !important; place-items: center; border: 3px solid rgba(255,255,255,.92) !important; border-radius: 30% !important; background: rgba(255,255,255,.16) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; transform: translate3d(-50%,-50%,0) scale(var(--playS, .8)); transition: opacity .34s var(--vd-ease), background-color .28s var(--vd-ease), border-color .28s var(--vd-ease); pointer-events: auto; }
.itc-vid .itc-vid__play:hover { background: var(--vd-blue) !important; border-color: var(--vd-blue) !important; }
.itc-vid .itc-vid__play:focus-visible { outline: 3px solid var(--vd-accent); outline-offset: 4px; }
.itc-vid__play svg { width: 40%; height: 40%; grid-area: 1 / 1; transition: opacity .2s; }
.itc-vid__iconPlay { transform: translateX(6%); }
.itc-vid__iconPause { opacity: 0; }
.itc-vid.is-playing .itc-vid__iconPlay { opacity: 0; }
.itc-vid.is-playing .itc-vid__iconPause { opacity: 1; }
.itc-vid.is-playing .itc-vid__play { opacity: 0; }
.itc-vid.is-playing .itc-vid__media:hover .itc-vid__play, .itc-vid.is-playing .itc-vid__play:focus-visible { opacity: 1; }
.itc-vid .itc-vid__sound { position: absolute; z-index: 4; right: clamp(16px,2.4vw,34px); bottom: clamp(16px,2.4vw,34px); display: inline-flex !important; align-items: center; gap: 9px; padding: 11px 18px !important; border-radius: 999px !important; background: rgba(9,17,42,0.62) !important; color: #fff; font-size: 12.5px; font-weight: 600; letter-spacing: .04em !important; opacity: 0; visibility: hidden; transition: opacity .34s var(--vd-ease), visibility .34s, background-color .28s var(--vd-ease); }
.itc-vid.is-open .itc-vid__sound, .itc-vid.is-playing .itc-vid__sound { opacity: 1; visibility: visible; pointer-events: auto; }
.itc-vid .itc-vid__sound:hover { background: var(--vd-blue) !important; }
.itc-vid__sound svg { width: 17px; height: 17px; flex: none; }
.itc-vid__iconSound { display: none; }
.itc-vid.is-loud .itc-vid__iconMuted { display: none; }
.itc-vid.is-loud .itc-vid__iconSound { display: block; }
@media (max-width: 1024px) and (orientation: portrait) {
	.itc-vid { --clipL: calc(var(--pkLt, 10) * 1%); --clipT: calc(var(--pkTt, 60) * 1%); }
	.itc-vid__pin { align-items: flex-start; }
	.itc-vid__wrap { padding-top: clamp(96px,14vh,160px); }
	.itc-vid__copy { max-width: 620px; }
	.itc-vid .itc-vid__title { font-size: clamp(34px,6vw,54px); }
}
@media (max-width: 767px), (prefers-reduced-motion: reduce) {
	.itc-vid__track { height: auto; }
	.itc-vid__pin { position: static; height: auto; display: block; overflow: hidden; padding: clamp(56px,12vw,88px) 0 clamp(40px,10vw,64px); }
	.itc-vid__wrap { padding-top: 0; }
	.itc-vid__copy { max-width: none; opacity: 1 !important; transform: none !important; }
	.itc-vid .itc-vid__title { font-size: clamp(30px,8.4vw,42px); }
	.itc-vid .itc-vid__text { margin-top: 18px !important; font-size: 15px; }
	.itc-vid .itc-vid__cta { margin-top: 26px; font-size: 15px; }
	.itc-vid__cta i { width: 42px; height: 42px; }
	.itc-vid__media { position: relative; inset: auto; margin: clamp(32px,8vw,48px) 0 0 clamp(20px,5vw,40px); aspect-ratio: 16 / 10; border-radius: clamp(32px,9vw,56px) 0 0 0; overflow: hidden; -webkit-clip-path: none !important; clip-path: none !important; pointer-events: auto; }
	.itc-vid__yt-wrap iframe { top: 50%; left: 50%; width: 100%; height: 100%; min-width: 0; min-height: 0; transform: translate(-50%,-50%) scale(1.02); }
	.itc-vid .itc-vid__poster { transform: none; }
	.itc-vid .itc-vid__play { left: 50%; top: 50%; width: clamp(60px,16vw,80px) !important; height: clamp(60px,16vw,80px) !important; transform: translate3d(-50%,-50%,0); }
	.itc-vid.is-playing .itc-vid__media:active .itc-vid__play { opacity: 1; }
	.itc-vid .itc-vid__sound { right: 12px; bottom: 12px; padding: 10px !important; }
	.itc-vid__soundTxt { display: none; }
	.itc-vid.is-js .itc-vid__copy > * { transition-duration: .6s; }
}
@media (prefers-reduced-motion: reduce) {
	.itc-vid.is-js .itc-vid__copy > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}
