/* Hericom motion: shared, one-shot entrances and native interactions. */
.hm-site {
 --motion-fast: 200ms;
 --motion-ui: 240ms;
 --motion-reveal: 550ms;
 --motion-hero: 760ms;
 --ease-out: cubic-bezier(.22,1,.36,1);
 --ease-ui: cubic-bezier(.2,.65,.3,1);
 --transition-fast: var(--motion-fast);
 --transition-normal: var(--motion-ui);
 --transition-slow: 500ms;
}
/* Retire legacy entrance effects and continuously moving decoration. */
.hm-site .hm-enter,.hm-site .hm-reveal.is-visible { animation: none; }
.hm-site .inner-reveal,.hm-site .inner-reveal.is-pending { opacity: 1; transform: none; transition: none; }
.hm-site :is(.float-bob-x,.float-bob-y,.img-bounce,.cntech-shine::after,.thm-btn::before,.thm-btn::after) { animation: none !important; }
.hm-site :is(.custom-cursor__cursor,.custom-cursor__cursor-two) { display: none; }
.hm-site .wow { animation: none !important; visibility: visible !important; }
.hm-site .thm-btn::before,.hm-site .thm-btn::after { display: none; }
.hm-site :is(.thm-btn,.hm-button,.policy-pill,.whatsapp-float,.cntech-shine) { transition: color var(--motion-fast) var(--ease-ui),background-color var(--motion-fast) var(--ease-ui),border-color var(--motion-fast) var(--ease-ui),transform var(--motion-ui) var(--ease-out); }
.hm-site :is(.thm-btn,.hm-button,.policy-pill,.cntech-shine):hover { box-shadow: none; }
.hm-site .thm-btn:hover { background-color: var(--color-primary-hover); }
.hm-site :is(.hm-button,.hm-text-link,.inner-link,.hm-platform__body a,.hm-service__link) > span[aria-hidden],.hm-site .hm-service__link > span { display: inline-block; transition: transform var(--motion-fast) var(--ease-out); }
.hm-site :is(a,button,input,textarea,select):focus-visible { outline: 3px solid var(--color-highlight); outline-offset: 4px; }
/* One translucent header surface; blur never animates. Mobile uses an opaque surface. */
.hm-site .main-menu__wrapper,.hm-site.hm-scrolled .main-menu__wrapper { isolation: isolate; background: linear-gradient(180deg,rgba(8,15,31,.66),rgba(8,15,31,.2)); box-shadow: none; transition: none; }
.hm-site .main-menu__wrapper::before { content: ''; position: absolute; inset: 0; background: var(--color-background); opacity: 0; z-index: -1; pointer-events: none; transition: opacity var(--motion-ui) var(--ease-ui); }
.hm-site.hm-scrolled .main-menu__wrapper::before { opacity: .94; }
@supports(backdrop-filter:blur(12px)) { .hm-site .main-menu__wrapper,.hm-site.hm-scrolled .main-menu__wrapper { backdrop-filter: blur(12px); } }
.hm-site .mobile-nav__overlay { backdrop-filter: none; }
.hm-site .mobile-nav__wrapper { transition: opacity var(--motion-ui),visibility 0s var(--motion-ui); }
.hm-site .mobile-nav__wrapper.expanded { transition: opacity var(--motion-ui),visibility 0s; }
.hm-site .mobile-nav__content,.hm-site .mobile-nav__wrapper.expanded .mobile-nav__content { transition: transform var(--motion-ui) var(--ease-out); }
/* Animated content retains normal geometry and remains interactive throughout. */
@keyframes hericom-reveal { from { opacity: .65; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hericom-hero { from { opacity: .85; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hericom-image-settle { from { transform: scale(1.025); } to { transform: scale(1); } }
@keyframes hericom-dialog-in { from { opacity: .5; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hericom-dialog-out { to { opacity: 0; transform: translateY(6px); } }
@media(prefers-reduced-motion:no-preference) {
 .hm-site .motion-revealing { animation: hericom-reveal var(--motion-reveal) var(--ease-out) var(--motion-delay,0ms) backwards; }
 .hm-site .hm-hero .hm-enter,.hm-site .page-header__inner > :is(.inner-eyebrow,h1,.inner-hero-lead) { animation: hericom-hero var(--motion-hero) var(--ease-out) backwards; }
 .hm-site .hm-hero .hm-enter:nth-child(2),.hm-site .page-header__inner h1 { animation-delay: 70ms; }
 .hm-site .hm-hero .hm-enter:nth-child(3),.hm-site .page-header__inner .inner-hero-lead { animation-delay: 140ms; }
 .hm-site .hm-hero .hm-enter:nth-child(4) { animation-delay: 190ms; }
 .hm-site .hm-hero .hm-enter:nth-child(5) { animation-delay: 240ms; }
 .hm-site .hm-hero__image,.hm-site .page-header__bg { animation: hericom-image-settle 850ms var(--ease-out); }
 .hm-site .hm-dialog[open] { animation: hericom-dialog-in var(--motion-ui) var(--ease-out); }
 .hm-site .hm-dialog[open].is-closing { animation: hericom-dialog-out var(--motion-fast) var(--ease-ui) forwards; pointer-events: none; }
}
.hm-site .hm-hero { overflow: clip; }
.hm-site .hm-hero::after { background: radial-gradient(ellipse at 15% 25%,rgba(57,120,246,.16),transparent 55%); }
.hm-site :is(.hm-platform,.inner-service-card,.policy-card,.team-two__single,.hm-service) { transition: transform var(--motion-ui) var(--ease-out),border-color var(--motion-ui) var(--ease-ui); }
.hm-site .inner-service-card:hover { box-shadow: none; }
.hm-site :is(.hm-platform > img,.hm-feature__visual img,.hm-video__visual img,.team-two__img img,.about-four__img img) { transition: transform 500ms var(--ease-out); }
.hm-site :is(.inner-service-icon i,.hm-service__top i,.services-one__icon,.policy-card__icon i) { display: inline-block; transition: transform var(--motion-ui) var(--ease-out); }
.hm-site .hm-platform::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(140deg,rgba(57,120,246,.12),transparent 70%); opacity: 0; pointer-events: none; transition: opacity var(--motion-ui) var(--ease-ui); }
.hm-site .hm-video__visual::after { transition: opacity var(--motion-ui) var(--ease-ui); }
@media(hover:hover) and (pointer:fine) {
 .hm-site :is(.hm-platform,.inner-service-card,.policy-card,.team-two__single,.hm-service):hover { transform: translateY(-3px); border-color: #3978f6; }
 .hm-site :is(.hm-platform:hover > img,.hm-feature__visual:hover img,.hm-video__visual:hover img,.team-two__single:hover img,.about-four__img:hover img) { transform: scale(1.025); }
 .hm-site :is(.hm-button:hover,.hm-text-link:hover,.inner-link:hover,.hm-platform__body a:hover) > span[aria-hidden],.hm-site .hm-service:hover .hm-service__link > span { transform: translateX(3px); }
 .hm-site :is(.inner-service-card:hover .inner-service-icon i,.hm-service:hover .hm-service__top i,.policy-card:hover .policy-card__icon i) { transform: translateY(-2px); }
 .hm-site .hm-platform:hover::after { opacity: 1; }
 .hm-site .hm-video__visual:hover::after { opacity: .65; }
}
.hm-site .hm-play { transition: transform var(--motion-ui) var(--ease-out),background-color var(--motion-fast); }
.hm-site .hm-dialog__status { font-size: 12px; min-height: 20px; margin-bottom: 12px; }
.hm-site .hm-dialog__close { transition: background-color var(--motion-fast); }
.hm-site .hm-dialog__close:hover { background-color: #233653; }
@media(max-width:767px),(pointer:coarse) {
 .hm-site { --motion-reveal: 450ms; }
 .hm-site .motion-revealing { --motion-delay: 0ms !important; }
 .hm-site .hm-hero__image,.hm-site .page-header__bg { animation: none; }
 .hm-site .main-menu__wrapper,.hm-site.hm-scrolled .main-menu__wrapper { backdrop-filter: none; }
 .hm-site :is(.hm-platform,.inner-service-card,.policy-card,.team-two__single,.hm-service,.hm-button,.policy-pill,.whatsapp-float,.cntech-shine):hover { transform: none; }
 .hm-site :is(.hm-platform > img,.hm-feature__visual img,.hm-video__visual img,.team-two__img img,.about-four__img img):hover,.hm-site :is(.hm-platform:hover > img,.hm-feature__visual:hover img,.hm-video__visual:hover img,.team-two__single:hover img) { transform: none; }
 .hm-site .hm-play { transform: none; }
}
@media(prefers-reduced-motion:reduce) {
 .hm-site *, .hm-site *::before,.hm-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
 .hm-site :is(.motion-revealing,.inner-reveal,.inner-reveal.is-pending,.hm-enter,.hm-reveal) { opacity: 1 !important; transform: none !important; }
 .hm-site :is(.hm-platform,.inner-service-card,.policy-card,.team-two__single,.hm-service,.hm-button,.hm-play,.policy-pill,.whatsapp-float,.cntech-shine):hover,.hm-site :is(.hm-platform:hover > img,.hm-feature__visual:hover img,.hm-video__visual:hover img,.team-two__single:hover img,.about-four__img:hover img) { transform: none !important; }
}
@keyframes hericom-reveal-mobile { from { opacity: .8; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media(prefers-reduced-motion:no-preference) {
 .hm-site .hm-hero h1.hm-enter { animation: none; }
 .hm-site .hm-hero-word { animation: hericom-hero var(--motion-hero) var(--ease-out) backwards; }
 .hm-site .hm-hero-word:nth-child(2) { animation-delay: 90ms; }
}
@media(max-width:767px),(pointer:coarse) { .hm-site .motion-revealing { animation-name: hericom-reveal-mobile; } }
@media(prefers-reduced-motion:reduce) { .hm-site .hm-hero-word { opacity: 1; transform: none; } }
.hm-site .hm-dialog__status { min-height: 44px; line-height: 1.6; }
/* Without carousel JS, both existing testimonials remain readable. */
.hm-site .testimonial-one__carousel:not(.owl-loaded) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
@media(max-width:767px) { .hm-site .testimonial-one__carousel:not(.owl-loaded) { grid-template-columns: 1fr; } }
.hm-site .mobile-nav__wrapper { pointer-events: none; }
.hm-site .mobile-nav__wrapper.expanded { pointer-events: auto; }
/* Override remaining template hover scales at the actual interactive descendants. */
.hm-site .services-one__icon span { transition: transform var(--motion-ui) var(--ease-out); transition-delay: 0s; }
.hm-site .services-one__single:hover .services-one__icon span { transform: none; }
.hm-site .hm-video__visual:hover img { opacity: 1; }
.hm-site .hm-platform:focus-within > img { transform: scale(1.025); }
@media(hover:hover) and (pointer:fine) {
 .hm-site .services-one__single:hover .services-one__icon span { transform: translateY(-2px); }
 .hm-site a:hover .hm-play { transform: translateY(-1px); }
}
@media(max-width:767px),(pointer:coarse) {
 .hm-site .hm-platform:focus-within > img,.hm-site a:hover .hm-play,.hm-site .services-one__single:hover .services-one__icon span { transform: none; }
}
@media(prefers-reduced-motion:reduce) {
 .hm-site .hm-platform:focus-within > img,.hm-site a:hover .hm-play,.hm-site .services-one__single:hover .services-one__icon span { transform: none !important; }
}
