/* Shared navigation, footer and responsive repairs. Loaded after all page styles. */
html { scrollbar-gutter: stable; }
.hericom-ux {
 --ux-bg: var(--color-background, #080f1f);
 --ux-surface: var(--color-surface, #101827);
 --ux-text: #f8fafc;
 --ux-muted: #a8b3c5;
 --ux-accent: #38bdf8;
 --ux-border: rgba(168,179,197,.22);
 --ux-header-height: 124px;
}
.hericom-ux :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid var(--ux-accent); outline-offset: 3px; box-shadow: 0 0 0 5px var(--ux-bg); }
.hericom-ux img { max-width: 100%; }
.hericom-ux :where(input,textarea,select) { max-width: 100%; font-size: max(16px,1em); }
.hericom-ux :where(.row > *, .hm-container > *, .hm-contact-grid > *) { min-width: 0; }
.hericom-ux :where(.section-title__title,.page-header__inner h2) { overflow-wrap: anywhere; }
.hericom-ux .section-title__title { font-size: clamp(2rem,4vw,3.5rem); line-height: 1.16; }
.hericom-ux .page-header__inner h2 { font-size: clamp(2.3rem,5vw,4.5rem); line-height: 1.12; }
.hericom-ux .mobile-nav__toggler { border: 0; background: transparent; color: var(--ux-text); cursor: pointer; min-width: 44px; min-height: 44px; padding: 10px; align-items: center; justify-content: center; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three) .mobile-nav__toggler { display: none; }
/* Stable fixed header over the existing hero/page-header, without clone swaps. */
.hm-site .main-header { position: fixed; inset: 0 0 auto; top: 0; width: 100%; background: transparent; z-index: 1000; transition: none; }
.hm-site .main-header__top-inner { min-height: 36px; padding: 4px clamp(20px,2.5vw,40px); background: rgba(8,15,31,.3); box-shadow: none; }
.hm-site .main-header__top-menu li a, .hm-site .main-header__contact-list li .text p, .hm-site .main-header__contact-list li .text p a { color: #c3cede; }
.hm-site .main-header__social-box { background: transparent; padding: 0; margin-inline-start: 28px; }
.hm-site .main-header__social-box::before, .hm-site .main-header__social-box::after { display: none; }
.hm-site .main-menu__wrapper { background: linear-gradient(180deg,rgba(8,15,31,.66),rgba(8,15,31,.2)); border-bottom: 1px solid rgba(248,250,252,.12); box-shadow: none; transition: background-color 240ms, box-shadow 240ms, backdrop-filter 240ms; }
.hm-site.hm-scrolled .main-menu__wrapper { background: rgba(8,15,31,.96); box-shadow: 0 10px 30px rgba(0,0,0,.18); }
@supports (backdrop-filter: blur(12px)) { .hm-site.hm-scrolled .main-menu__wrapper { background: rgba(8,15,31,.86); backdrop-filter: blur(16px); } }
.hm-site .main-menu__wrapper-bg { display: none; }
.hm-site .main-menu__wrapper-inner { min-height: 88px; padding: 0 clamp(20px,2.5vw,40px); gap: 24px; flex-wrap: nowrap; box-shadow: none; }
.hm-site .main-menu__left { width: auto; flex: 1; margin: 0; flex-wrap: nowrap; gap: clamp(20px,3vw,48px); min-width: 0; }
.hm-site .main-menu__logo { padding: 18px 0; margin: 0; flex-shrink: 0; }
.hm-site .main-menu__logo img { width: 150px; height: auto; }
.hm-site .main-menu__main-menu-box { padding: 0; flex: 1; }
.hm-site .main-menu__list { padding: 0; justify-content: center; gap: clamp(8px,1.3vw,24px); }
.hm-site .main-menu .main-menu__list > li { padding: 0; margin: 0; min-height: 88px; align-items: center; }
.hm-site .main-menu .main-menu__list > li > a { font-size: 13px; font-weight: 700; white-space: nowrap; }
.hm-site .main-menu__right { flex-shrink: 0; }
.hm-site .main-menu__call { margin-inline-end: 16px; }
.hm-site .main-menu__call-icon { display: none; }
.hm-site .main-menu__call-content { margin: 0; }
.hm-site .main-menu__call-number { font-size: 13px; }
.hm-site .main-menu__call-sub-title { color: var(--ux-muted); font-size: 11px; line-height: 1.4; }
.hm-site .main-menu__search-cart-box { margin: 0; padding-inline-start: 12px; }
.hm-site .main-menu__search { min-width: 44px; min-height: 44px; justify-content: center; font-size: 20px; }
.hm-site .stricky-header { display: none; }
.hm-site.h-home .hm-hero { min-height: 864px; }
.hm-site.h-home .hm-hero__inner { padding-top: 196px; }
.hm-site .page-header { padding-top: 244px; }
/* Disclosure buttons are siblings of links, never interactive elements inside links. */
.hericom-ux .main-menu__list li.dropdown { position: relative; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three,.stricky-header) .main-menu__list > li { display: flex; align-items: center; }
.hericom-ux .ux-submenu-toggle { display: inline-grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; transition: background 180ms,color 180ms; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three,.stricky-header) .ux-submenu-toggle { color: var(--ux-text); }
.hericom-ux .ux-submenu-toggle:hover, .hericom-ux .ux-submenu-toggle[aria-expanded="true"] { background: rgba(56,189,248,.1); color: var(--ux-accent); }
.hericom-ux .ux-submenu-toggle svg { transition: transform 180ms; }
.hericom-ux .ux-submenu-toggle[aria-expanded="true"] > svg { transform: rotate(180deg); }
.hericom-ux .main-menu__list ul[hidden] { display: none !important; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three,.stricky-header) .main-menu__list li.ux-menu-open > ul { display: flex; opacity: 1; visibility: visible; transform: none; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three,.stricky-header) .main-menu__list li > ul { background: var(--ux-surface); border: 1px solid var(--ux-border); border-radius: 12px; padding: 10px; min-width: 270px; box-shadow: 0 20px 50px #0004; max-height: min(70dvh,600px); overflow-y: auto; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three,.stricky-header) .main-menu__list li > ul a { min-height: 44px; white-space: normal; padding: 10px 14px; border-radius: 6px; color: var(--ux-text); font-size: 13px; line-height: 1.6; transition: background 180ms,color 180ms; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three,.stricky-header) .main-menu__list li > ul a:hover { background: rgba(56,189,248,.1); color: var(--ux-accent); }
.hericom-ux .main-menu__list a[aria-current] { color: var(--ux-accent) !important; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three) .main-menu__list > li > a { min-height: 44px; border-bottom: 2px solid transparent; transition: color 180ms,border-color 180ms; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three) .main-menu__list > li.current > a { border-bottom-color: var(--ux-accent); }
/* Modal mobile drawer. Opacity/transform animate; visibility changes never delay focus. */
.hericom-ux .mobile-nav__wrapper { position: fixed; inset: 0; width: 100%; height: 100dvh; z-index: 10020; transform: none; opacity: 0; visibility: hidden; transition: opacity 240ms,visibility 0s 240ms; }
.hericom-ux .mobile-nav__wrapper.expanded { opacity: 1; visibility: visible; transform: none; transition: opacity 240ms,visibility 0s; }
.hericom-ux .mobile-nav__overlay { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; background: rgba(3,8,18,.75); opacity: 1; border: 0; border-radius: 0; }
@supports (backdrop-filter: blur(3px)) { .hericom-ux .mobile-nav__overlay { backdrop-filter: blur(4px); } }
.hericom-ux .mobile-nav__content { width: min(390px,calc(100vw - 20px)); max-width: 100%; height: 100%; padding: max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom)); background: radial-gradient(ellipse at 0 0,rgba(57,120,246,.13),transparent 60%),var(--ux-bg); border-inline-end: 1px solid var(--ux-border); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; visibility: visible; opacity: 1; transform: translateX(-100%); transition: transform 240ms ease; }
.hericom-ux .mobile-nav__wrapper.expanded .mobile-nav__content { opacity: 1; visibility: visible; transform: none; transition: transform 240ms ease; }
.hericom-ux .mobile-nav__close { position: absolute; top: max(16px,env(safe-area-inset-top)); right: 16px; width: 44px; height: 44px; border: 1px solid var(--ux-border); border-radius: 10px; background: rgba(168,179,197,.07); color: #fff; font-size: 18px; padding: 10px; }
.hericom-ux .mobile-nav__content .logo-box { min-height: 48px; align-items: center; margin: 0 52px 24px 0; }
.hericom-ux .mobile-nav__content .logo-box img { width: 150px; max-width: 100%; height: auto; }
.hericom-ux .mobile-nav__container { border: 0; }
.hericom-ux .mobile-nav__content .main-menu__list > li { display: grid; grid-template-columns: minmax(0,1fr) auto; border-bottom: 1px solid var(--ux-border); padding: 4px 0; }
.hericom-ux .mobile-nav__content .main-menu__list li > a { height: auto; min-height: 52px; padding: 10px 8px; line-height: 1.5; font-size: 16px; color: #e4ecf8; white-space: normal; overflow-wrap: anywhere; }
.hericom-ux .mobile-nav__content .ux-submenu-toggle { color: var(--ux-muted); align-self: center; border: 1px solid var(--ux-border); }
.hericom-ux .mobile-nav__content .main-menu__list li > ul { grid-column: 1 / -1; display: block; width: 100%; margin: 0; padding: 6px 0 10px 12px; border: 0; }
.hericom-ux .mobile-nav__content .main-menu__list li > ul > li { display: grid; grid-template-columns: minmax(0,1fr) auto; border: 0; }
.hericom-ux .mobile-nav__content .main-menu__list li > ul a { font-size: 14px; min-height: 48px; color: var(--ux-muted); }
.hericom-ux .mobile-nav__content .main-menu__list li.current > a { color: var(--ux-accent); background: rgba(56,189,248,.06); border-radius: 6px; }
.hericom-ux .mobile-nav__contact { margin: 24px 0 12px; }
.hericom-ux .mobile-nav__contact li { gap: 10px; align-items: center; margin: 0; min-height: 44px; }
.hericom-ux .mobile-nav__contact li > i { width: 28px; height: 28px; margin: 0; font-size: 11px; flex-shrink: 0; background: var(--ux-surface); }
.hericom-ux .mobile-nav__contact li a { font-size: 12px; color: var(--ux-muted); overflow-wrap: anywhere; line-height: 1.6; padding: 10px 0; }
.hericom-ux .mobile-nav__top { margin: 12px 0 0; }
.hericom-ux .mobile-nav__social { gap: 8px; }
.hericom-ux .mobile-nav__social a { display: grid; place-items: center; margin: 0; width: 44px; height: 44px; color: #e4ecf8; background: var(--ux-surface); border: 1px solid var(--ux-border); border-radius: 50%; }
/* Footer structure uses the existing columns and business copy. */
.hericom-ux .site-footer { background: radial-gradient(ellipse at 100% 0,rgba(57,120,246,.08),transparent 55%),var(--ux-bg); }
.hericom-ux .site-footer__bg { opacity: .06; }
.hericom-ux .site-footer__top { padding: clamp(40px,5vw,72px) 0; }
.hericom-ux .site-footer__top > .row { display: grid; grid-template-columns: 1.15fr .8fr 1fr 1.15fr; gap: clamp(20px,3vw,40px); margin: 0; }
.hericom-ux .site-footer__top > .row > div { width: auto; padding: 0; min-width: 0; }
.hericom-ux .footer-widget__column { margin: 0; }
.hericom-ux .footer-widget__logo { margin-bottom: 20px; }
.hericom-ux .footer-widget__logo img { width: 155px; height: auto; }
.hericom-ux .footer-widget__title-box { margin-bottom: 16px; }
.hericom-ux .footer-widget__title { font-size: 16px; line-height: 1.4; color: #f8fafc; }
.hericom-ux :is(.footer-widget__about-text,.footer-widget__Contact-text,.footer-widget__contact-text,.site-footer__bottom-text) { font-size: 13px; line-height: 1.85; color: var(--ux-muted); overflow-wrap: anywhere; }
.hericom-ux :is(.footer-widget__explore-list,.footer-widget__link-list) li + li { margin: 0; }
.hericom-ux :is(.footer-widget__explore-list,.footer-widget__link-list) li a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 13px; line-height: 1.5; color: var(--ux-muted); }
.hericom-ux :is(.footer-widget__Contact-list,.footer-widget__contact-list) li { display: flex; gap: 10px; align-items: start; margin: 0; }
.hericom-ux :is(.footer-widget__Contact-list,.footer-widget__contact-list) li .text { margin: 0; min-width: 0; }
.hericom-ux :is(.footer-widget__Contact-list,.footer-widget__contact-list) li .icon { margin: 0; flex-shrink: 0; padding-top: 10px; }
.hericom-ux :is(.footer-widget__Contact-list,.footer-widget__contact-list) li .text a { display: inline-block; padding-block: 10px; min-height: 44px; color: var(--ux-muted); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.hericom-ux .site-footer a:hover { color: var(--ux-accent); }
.hericom-ux .site-footer__social { margin-top: 20px; gap: 8px; }
.hericom-ux .site-footer__social a { display: grid; place-items: center; width: 44px; height: 44px; margin: 0; color: #e4ecf8; border: 1px solid var(--ux-border); background: var(--ux-surface); border-radius: 50%; }
.hericom-ux .site-footer__social a::after { display: none; }
.hericom-ux .footer-widget__newsletter-form-input-box input[type="email"] { height: 52px; padding: 12px 56px 12px 16px; border: 1px solid #526078; border-radius: 8px; background: var(--ux-surface); color: #fff; font-size: 16px; }
.hericom-ux .footer-widget__newsletter-btn { width: 44px; height: 44px; top: 4px; right: 4px; border-radius: 6px; }
.hericom-ux .checked-box { margin-top: 14px; }
.hericom-ux .checked-box label { font-size: 11px; line-height: 1.7; color: var(--ux-muted); }
.hericom-ux .footer-newsletter-logos { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.hericom-ux .footer-newsletter-logos img { width: 64px; height: 34px; object-fit: contain; padding: 3px; background: #fff; border-radius: 4px; }
.hericom-ux .site-footer__bottom { border-top: 1px solid var(--ux-border); }
.hericom-ux .site-footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-block: 24px; }
.hericom-ux .cntech-shine { background: var(--ux-surface); box-shadow: none; border: 1px solid var(--ux-border); font-size: 12px; min-height: 44px; }
.hericom-ux .cntech-shine::after { display: none; }
@media (max-width: 1199px) {
 .hericom-ux { --ux-header-height: 76px; }
 .hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three) .mobile-nav__toggler { display: inline-flex; }
 .hm-site .main-header__top { display: none; }
 .hm-site .main-menu__wrapper-inner { min-height: 76px; }
 .hm-site .main-menu__left { width: 100%; justify-content: space-between; }
 .hm-site .main-menu__main-menu-box { flex: 0 0 auto; margin: 0; }
 .hm-site .main-menu__logo { padding: 14px 0; }
 .hm-site .main-menu__logo img { width: 135px; }
 .hm-site .main-menu__right { display: none; }
 .hm-site .main-menu__list { display: none; }
 .hm-site.h-home .hm-hero { min-height: 790px; }
 .hm-site.h-home .hm-hero__inner { padding-top: 148px; }
 .hm-site .page-header { padding-top: 190px; }
 .hericom-ux .site-footer__top > .row { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 767px) {
 .hericom-ux .container { max-width: 100%; }
 .hericom-ux .site-footer__top > .row { grid-template-columns: 1fr; gap: 28px; }
 .hericom-ux .site-footer__top > .row > div { grid-column: auto !important; }
 .hericom-ux .footer-widget__about-text { max-width: 48ch; }
 .hericom-ux :is(.footer-widget__explore-list,.footer-widget__link-list) { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
 .hericom-ux .footer-widget__newsletter-form { max-width: 440px; }
 .hericom-ux .site-footer__bottom-inner { align-items: start; flex-direction: column; }
 .hericom-ux :is(.main-slider__title,.main-slider-two__title,.main-slider-three__title) { font-size: clamp(2.2rem,8vw,3.5rem); line-height: 1.1; overflow-wrap: anywhere; }
 .hericom-ux :is(.contact-page__points,.footer-widget__Contact-list,.footer-widget__contact-list) a { overflow-wrap: anywhere; }
 .hericom-ux :is(.contact__right,.contact-one__right,.contact-two__right) { margin-inline: 0; }
 .hericom-ux :is(.contact-page__input-box,.contact__form-input-box) input, .hericom-ux :is(.contact-page__input-box,.contact__form-input-box) textarea { font-size: 16px; }
 .hericom-ux :is(.contact-page__btn,.contact__btn) { min-height: 48px; }
 .hericom-ux :is(.cart-page__table-outer,.table-responsive) { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
}
@media (max-height: 500px) and (max-width: 1199px) {
 .hericom-ux .mobile-nav__content { padding-top: 16px; padding-bottom: 16px; }
 .hericom-ux .mobile-nav__content .logo-box { margin-bottom: 12px; min-height: 44px; }
 .hericom-ux .mobile-nav__content .main-menu__list li > a { min-height: 44px; }
 .hericom-ux .mobile-nav__contact { margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
 .hericom-ux *, .hericom-ux *::before, .hericom-ux *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
 .hericom-ux .wow { visibility: visible !important; }
}
.hm-site .main-menu__search-cart-box { padding-block: 0; }
/* Repairs found by the full-page layout scan: narrow service text and a badge offset. */
.hericom-ux .services-one__content { padding-inline: clamp(20px,2vw,32px); }
.hericom-ux .services-one__title { font-size: clamp(1.125rem,1.7vw,1.375rem); overflow-wrap: anywhere; }
.hericom-ux .about-two__satisfied-box { left: auto; right: 0; max-width: min(223px,100%); }
.hm-site .main-menu__right { padding-block: 0; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three,.stricky-header) .main-menu__list li > ul a { background: transparent; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three,.stricky-header) .main-menu__list ul > li.dropdown { display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: center; }
.hericom-ux :is(.main-menu,.main-menu-two,.main-menu-three,.stricky-header) .main-menu__list ul > li > ul { position: static; grid-column: 1 / -1; min-width: 0; width: 100%; margin-top: 4px; box-shadow: none; }

.hericom-ux .mobile-nav__content .main-menu__list { display: block; }
.hericom-ux .search-popup { z-index: 10010; }

.hericom-ux .about-two__right { margin-right: 0; margin-left: 0; }
