/* ==========================================================
   11. CLOUD SERVICE MODEL (.itc-cloud)
   ========================================================== */
@property --ic-a{syntax:'<angle>';inherits:false;initial-value:0deg;}
.itc-cloud,
.itc-cloud--grid,
.itc-cloud.itc-cloud--grid {
	--ic-primary: var(--brand-primary);
	--ic-primary-dark: var(--brand-primary-dark);
	--ic-deep: var(--brand-primary-deep);
	--ic-ink: var(--ink);
	--ic-ink-soft: var(--ink-soft);
	--ic-line: var(--line);
	--c-bg-light-2: var(--bg-light-2);
	--ic-font: var(--font-display, 'Mark Pro', 'Plus Jakarta Sans', sans-serif);
	--ic-ease: cubic-bezier(.22,.8,.24,1);
	position: relative; display: block; padding: var(--ic-pad, 70px) 0;
	background: transparent !important; background-color: transparent !important; background-image: none !important;
	font-family: var(--ic-font); overflow: hidden; isolation: isolate; -webkit-font-smoothing: antialiased;
}
.itc-cloud--bleed { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.itc-cloud *,.itc-cloud *::before,.itc-cloud *::after { box-sizing: border-box; }
.itc-cloud svg { display: block; max-width: 100%; }
.itc-cloud button,.itc-cloud a,.itc-cloud p,.itc-cloud h3,.itc-cloud span,.itc-cloud figure,.itc-cloud video { font-family: var(--ic-font) !important; text-shadow: none !important; text-transform: none !important; letter-spacing: normal !important; }
.itc-cloud button { -webkit-appearance: none !important; appearance: none !important; background: transparent !important; background-color: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; cursor: pointer; line-height: 1.2 !important; }
.itc-cloud a { text-decoration: none !important; box-shadow: none !important; }
.itc-cloud figure { margin: 0 !important; padding: 0 !important; }
.itc-cloud p, .itc-cloud h3 { margin: 0; padding: 0; }
.elementor-widget-shortcode .itc-cloud { margin: 0; }
.itc-cloud__wrap { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.itc-cloud__head { margin-bottom: 30px; text-align: center; }
.itc-cloud .itc-cloud__label { display: inline-block; background: var(--ic-primary) !important; color: #fff !important; font-weight: 700; font-size: 13px; letter-spacing: .12em !important; text-transform: uppercase !important; padding: 10px 22px; border-radius: 8px; box-shadow: 0 12px 24px -10px rgba(33,64,154,.4); transition: background-color .3s var(--ic-ease); }
.itc-cloud .itc-cloud__label:hover { background: var(--ic-deep) !important; }
.itc-cloud .itc-cloud__heading { margin: 22px 0 0 !important; padding: 0 !important; font-family: var(--ic-font) !important; font-size: clamp(26px,3.1vw,40px); font-weight: 700; line-height: 1.16; letter-spacing: -.028em !important; text-transform: none !important; text-shadow: none !important; color: var(--ic-deep) !important; }
.itc-cloud__intro { margin: 16px auto 0 !important; max-width: 620px; font-size: 16px; line-height: 1.65; color: var(--ic-ink-soft); }
.itc-cloud__shell { position: relative; border-radius: 28px; background: #ffffff; border: 1px solid var(--ic-line); box-shadow: 0 20px 48px -20px rgba(33,64,154,.10); overflow: hidden; }
.itc-cloud__tabsWrap { position: relative; }
.itc-cloud__tabs { position: relative; display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1.5px solid var(--ic-line); }
.itc-cloud .itc-cloud__tab { position: relative; z-index: 1; display: block; width: 100% !important; padding: 26px 14px 22px !important; text-align: center; color: var(--ic-ink) !important; transition: background-color .3s var(--ic-ease); }
.itc-cloud .itc-cloud__tab:hover { background-color: rgba(15,33,88,.04) !important; }
.itc-cloud .itc-cloud__tab:hover .itc-cloud__tabName { color: var(--ic-deep); }
.itc-cloud .itc-cloud__tabName { display: block; font-size: 24px; font-weight: 700; line-height: 1.15 !important; letter-spacing: -.01em !important; color: var(--ic-ink); transition: color .3s var(--ic-ease); }
.itc-cloud__tabSub { display: block; margin-top: 5px; font-size: 13px; font-weight: 500; color: var(--ic-ink-soft); line-height: 1.3 !important; }
.itc-cloud .itc-cloud__tab.is-active .itc-cloud__tabName { color: var(--ic-primary); }
.itc-cloud .itc-cloud__tab.is-active .itc-cloud__tabSub { color: var(--ic-primary); opacity: .85; }
.itc-cloud__ink { position: absolute; left: 0; bottom: -1.5px; z-index: 2; height: 4px; width: 0; border-radius: 4px 4px 0 0; background: var(--ic-primary) !important; transform: translateX(0); transition: transform .45s var(--ic-ease), width .45s var(--ic-ease); pointer-events: none; }
.itc-cloud__panels { position: relative; transition: height .48s var(--ic-ease); }
.itc-cloud__panel { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; padding: 52px 48px 58px; }
.itc-cloud__panel:not(.is-active) { display: none; }
.itc-cloud__panels.is-ready .itc-cloud__panel { display: grid; position: absolute; top: 0; left: 0; width: 100%; opacity: 0; visibility: hidden; pointer-events: none; transform: translate3d(0,16px,0); transition: opacity .4s var(--ic-ease), transform .45s var(--ic-ease), visibility 0s linear .45s; }
.itc-cloud__panels.is-ready .itc-cloud__panel.is-active { opacity: 1; visibility: visible; pointer-events: auto; transform: translate3d(0,0,0); transition: opacity .45s var(--ic-ease) .05s, transform .5s var(--ic-ease) .05s, visibility 0s; }
.itc-cloud__copy { max-width: 480px; }
.itc-cloud .itc-cloud__title { font-size: clamp(28px,3.2vw,40px); font-weight: 800; line-height: 1.12; letter-spacing: -.025em !important; color: var(--ic-primary) !important; }
.itc-cloud .itc-cloud__title .ic-word { display: inline-block; white-space: nowrap; }
.itc-cloud .itc-cloud__title .ic-ch { display: inline-block; transform-origin: 50% 100%; will-change: transform, opacity; }
.itc-cloud__panel.is-active .itc-cloud__title .ic-ch { animation: icType 0.38s var(--ic-ease) backwards; animation-delay: calc(0.1s + var(--n, 0) * 24ms); }
@keyframes icType { from { opacity: 0; transform: perspective(400px) translateY(14px) rotateX(-75deg); } to { opacity: 1; transform: perspective(400px) translateY(0) rotateX(0deg); } }
.itc-cloud .ic-caret { display: inline-block; width: 3px; height: .8em; margin-left: 3px; vertical-align: -2px; border-radius: 2px; background: var(--ic-primary); opacity: 0; }
.itc-cloud__panel.is-active .ic-caret { animation: icCaretBlink .7s steps(2,end) infinite, icCaretOut .3s linear calc(0.1s + var(--ic-n, 20) * 24ms + .3s) forwards; }
@keyframes icCaretBlink { 0%,100%{opacity:1;} 50%{opacity:0;} }
@keyframes icCaretOut { from{opacity:1;} to{opacity:0;} }
.itc-cloud__desc { margin-top: 18px !important; font-size: 16px; line-height: 1.7; color: var(--ic-ink-soft); }
.itc-cloud .itc-cloud__desc .ic-wd { display: inline-block; will-change: transform, opacity, filter; }
.itc-cloud__panel.is-active .itc-cloud__desc .ic-wd { animation: icWordRise 0.5s var(--ic-ease) backwards; animation-delay: calc(0.4s + var(--n, 0) * 26ms); }
@keyframes icWordRise { from { opacity: 0; transform: translateY(14px); filter: blur(5px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
.itc-cloud__cta { margin-top: 32px; }
.itc-cloud__panel.is-active .itc-cloud__cta { animation: icWordRise 0.75s var(--ic-ease) 0.3s backwards; }
.itc-cloud__panel.is-active .itc-cloud__media { animation: icMediaIn 0.85s var(--ic-ease) 0.1s backwards; }
@keyframes icMediaIn { from { opacity: 0; transform: perspective(1000px) translateY(20px) scale(0.97); } to { opacity: 1; transform: perspective(1000px) translateY(0) scale(1); } }
.itc-cloud .itc-cloud__btn { position: relative; display: inline-flex; align-items: center; gap: 12px; padding: 16px 32px !important; border-radius: 999px !important; overflow: hidden; background: var(--ic-primary) !important; color: #fff !important; font-size: 15px; font-weight: 700; line-height: 1.2; box-shadow: 0 14px 28px -12px rgba(33,64,154,.6); transform: translateZ(0); transition: transform .35s var(--ic-ease), box-shadow .35s var(--ic-ease), background-color .3s var(--ic-ease); }
.itc-cloud .itc-cloud__btn:hover { transform: translateY(-4px); background: var(--ic-deep) !important; box-shadow: 0 20px 38px -14px rgba(15,33,88,.7); }
.itc-cloud__btnLabel { position: relative; z-index: 2; color: #fff !important; }
.itc-cloud__btnIco { position: relative; z-index: 2; display: inline-flex; width: 16px; height: 16px; color: #fff; transition: transform .35s var(--ic-ease); }
.itc-cloud .itc-cloud__btn:hover .itc-cloud__btnIco { transform: translateX(5px); }
.itc-cloud__btnSheen { position: absolute; top: 0; left: -120%; width: 60%; height: 100%; z-index: 1; background: linear-gradient(100deg, transparent, rgba(255,255,255,.3), transparent); transform: skewX(-18deg); transition: left .7s var(--ic-ease); }
.itc-cloud .itc-cloud__btn:hover .itc-cloud__btnSheen { left: 130%; }
.itc-cloud__media { position: relative; perspective: 1200px; transform-style: preserve-3d; }
.itc-cloud__mediaInner { position: relative; aspect-ratio: var(--ic-ratio, 4/3); border-radius: 22px; overflow: hidden; background: #0B1736; border: 1px solid var(--ic-line); box-shadow: 0 24px 50px -20px rgba(33,64,154,.35); transform: rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transform-style: preserve-3d; transition: transform .45s var(--ic-ease); }
.itc-cloud__media.is-tilting .itc-cloud__mediaInner { transition: transform .1s linear; }
.itc-cloud__video { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; transition: opacity .5s var(--ic-ease); pointer-events: none; }
.itc-cloud__video.is-live { opacity: 1; }
.itc-cloud__gloss { position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(145deg, rgba(255,255,255,.16) 0%, transparent 45%); }
.itc-cloud__pool { position: absolute; left: 10%; right: 10%; bottom: -20px; height: 32px; border-radius: 50%; background: radial-gradient(ellipse at center, rgba(33,64,154,.25), transparent 70%); filter: blur(12px); z-index: -1; }
.itc-cloud__stage { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at center, #1B388B 0%, #081129 80%); }
.itc-cloud__halo { position: absolute; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(33,64,154,.4), transparent 65%); filter: blur(16px); animation: icPulse 5s ease-in-out infinite; }
@keyframes icPulse { 0%,100%{transform:scale(1);opacity:.7;} 50%{transform:scale(1.15);opacity:1;} }
.itc-cloud__scene { position: relative; width: 220px; aspect-ratio: 1; perspective: 800px; transform-style: preserve-3d; }
.itc-cloud__rack { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateX(60deg) rotateZ(-30deg); animation: icSway 10s ease-in-out infinite; }
@keyframes icSway { 0%,100%{transform:rotateX(60deg) rotateZ(-30deg);} 50%{transform:rotateX(54deg) rotateZ(-12deg);} }
.itc-cloud__unit { position: absolute; left: 50%; top: 50%; width: 58%; height: 13%; margin: -6.5% 0 0 -29%; border-radius: 6px; transform-style: preserve-3d; background: linear-gradient(120deg, #21409A, #0F2158); border: 1px solid rgba(226,231,243,.3); transform: translateZ(calc((var(--i) - 3.5) * 15px)); box-shadow: 0 4px 12px rgba(0,0,0,.4); }
.itc-cloud__led { position: absolute; top: 50%; width: 6px; height: 6px; border-radius: 50%; margin-top: -3px; background: #78B4FF; box-shadow: 0 0 8px #78B4FF; animation: icBlink 2.4s ease-in-out infinite; animation-delay: calc(var(--l) * .38s); }
.itc-cloud__led:nth-of-type(1) { left: 8%; }
.itc-cloud__led:nth-of-type(2) { left: 18%; background: #CFE4FF; box-shadow: 0 0 8px #CFE4FF; }
@keyframes icBlink { 0%,100%{opacity:1;} 50%{opacity:.2;} }
.itc-cloud__bar { position: absolute; right: 8%; top: 50%; width: 36%; height: 3px; margin-top: -1.5px; border-radius: 2px; background: rgba(226,231,243,.4); }
.itc-cloud__ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1px solid rgba(226,231,243,.35); transform-style: preserve-3d; }
.itc-cloud__ring--a { width: 104%; aspect-ratio: 1; margin: -52% 0 0 -52%; transform: rotateX(72deg); animation: icSpinA 14s linear infinite; }
.itc-cloud__ring--b { width: 80%; aspect-ratio: 1; margin: -40% 0 0 -40%; border-color: rgba(120,180,255,.5); transform: rotateX(68deg) rotateY(24deg); animation: icSpinB 10s linear infinite reverse; }
.itc-cloud__ring--c { width: 124%; aspect-ratio: 1; margin: -62% 0 0 -62%; border-color: rgba(226,231,243,.2); border-style: dashed; transform: rotateX(76deg); animation: icSpinC 20s linear infinite; }
@keyframes icSpinA { from{transform:rotateX(72deg) rotateZ(0deg);} to{transform:rotateX(72deg) rotateZ(360deg);} }
@keyframes icSpinB { from{transform:rotateX(68deg) rotateY(24deg) rotateZ(0deg);} to{transform:rotateX(68deg) rotateY(24deg) rotateZ(360deg);} }
@keyframes icSpinC { from{transform:rotateX(76deg) rotateZ(0deg);} to{transform:rotateX(76deg) rotateZ(360deg);} }
.itc-cloud__spark { position: absolute; left: var(--x); top: var(--y); width: var(--s); height: var(--s); border-radius: 50%; background: #ffffff; box-shadow: 0 0 8px rgba(255,255,255,.8); animation: icFloat 6s ease-in-out infinite; animation-delay: var(--d); }
@keyframes icFloat { 0%,100%{transform:translate3d(0,0,0);opacity:.2;} 50%{transform:translate3d(0,-18px,0);opacity:1;} }
@media (max-width: 960px) {
	.itc-cloud { --ic-pad: 60px; }
	.itc-cloud__wrap { padding: 0 20px; }
	.itc-cloud__panel { grid-template-columns: 1fr; gap: 34px; padding: 36px 24px 42px; }
	.itc-cloud__media { order: -1; }
	.itc-cloud__copy { max-width: none; }
	.itc-cloud__mediaInner { max-width: 500px; margin: 0 auto; transform: none !important; }
	.itc-cloud .itc-cloud__tab { padding: 20px 8px 18px !important; }
	.itc-cloud__tabName { font-size: 20px; }
	.itc-cloud__tabSub { font-size: 12px; }
}
@media (max-width: 600px) {
	.itc-cloud { --ic-pad: 48px; }
	.itc-cloud__shell { border-radius: 20px; }
	.itc-cloud__panel { padding: 24px 16px 30px; gap: 24px; }
	.itc-cloud .itc-cloud__title { font-size: 24px; }
	.itc-cloud__desc { font-size: 14.5px; }
	.itc-cloud .itc-cloud__btn { width: 100%; justify-content: center; padding: 15px 24px !important; }
	.itc-cloud .itc-cloud__tab { padding: 16px 4px 14px !important; }
	.itc-cloud__tabName { font-size: 16px; }
	.itc-cloud__tabSub { display: none; }
}
