/* WordPress integration; original stylesheet remains unchanged. */
html { scroll-padding-top: 2rem; }
::selection { color: white; background: #464c78; }
:focus-visible { outline: 3px solid #fd4f26; outline-offset: 4px; }
.hm-skip { position: fixed; top: -10rem; left: 1rem; z-index: 10001; background: #fff; color: #000; padding: 1rem; }
.hm-skip:focus { top: 1rem; }
.hm-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.hm-header-home { color: #fff; position: absolute; background: transparent; }
.hm-header-home .hm-buy-button { color: #fff; filter: none; }
.hm-header-home .hm-buy-button .button-icon { filter: invert(1); }
.button-icon { flex-shrink: 0; }
.button-icon img { display: block; width: 100%; height: 100%; }
.hm-buy-button.button--small { max-width: none; width: 12.57rem; }
.about-picture, .apps-phones { height: auto; }
.about-descript > p { margin: 0; }
.logo-icon img, .menu-icon img, .footer-contacts-icon img { width: 100%; height: auto; }
.logo-icon img { aspect-ratio: 205 / 22; }
.hm-header-home .logo-icon img, .hm-header-home .menu-icon img, .footer .logo-icon img { filter: invert(1); }
.footer-contacts-icon img { filter: brightness(0) invert(1); }
.hm-menu { list-style: none; display: flex; align-items: center; gap: 24px; padding: 0; margin: 0; }
.hm-menu li { position: relative; }
.hm-menu > li { display: flex; align-items: center; }
.hm-menu > li > .navbar-link { padding: 1.25rem 0; margin: 0; white-space: nowrap; }
.hm-menu .sub-menu .navbar-link { padding: .5rem .75rem; color: #141414; display: block; line-height: 1.35; }
.hm-menu .sub-menu .navbar-link:hover, .hm-menu .sub-menu .navbar-link:focus-visible { color: var(--orange); }
.hm-menu .sub-menu { display: none; position: absolute; z-index: 1002; top: 100%; left: -.75rem; min-width: 220px; padding: .5rem; margin: 0; list-style: none; background: #fff; color: #141414; border-radius: 0; box-shadow: 0 12px 30px rgba(0, 0, 0, .16); }
.hm-menu li.hm-open > .sub-menu { display: block; }
/* Desktop disclosure appears on keyboard focus; mouse users hover the link. */
.hm-submenu-toggle { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); background: #fff; color: #141414; margin: 0; padding: 0; }
.hm-submenu-toggle:focus-visible { z-index: 1003; top: 0; left: 0; width: max-content; min-height: 44px; height: auto; clip-path: none; padding: .5rem .75rem; }
@media (min-width: 1201px) {
    .header-row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 24px; }
    .header-row > .logo { justify-self: start; }
    .header-row > .hm-desktop-nav { justify-self: center; }
    .header-row > .hm-header-actions { justify-self: end; }
}
.manu-button { background: transparent; color: inherit; }
.hm-content { padding-top: 3rem; padding-bottom: 4rem; min-height: 50vh; }
.hm-content h1 { margin-bottom: 2rem; }
.hm-content article + article { margin-top: 2rem; }
.hm-breadcrumbs { margin-bottom: 1.5rem; font-size: .9rem; }
.hm-breadcrumbs a { text-decoration: underline; }
.header { z-index: 1001; }
/* Public reference notice: overlay on the homepage, sticky on inner pages. */
.toplinealert { padding: 10px 0; background: #fd4f26; position: sticky; top: 0; z-index: 1000; box-sizing: border-box; }
.toplinealert.hidden { display: none; }
.home .toplinealert { position: absolute; border-radius: 100px; top: 120px; left: 50%; transform: translateX(-50%); width: calc(100% - 30px); max-width: 1170px; z-index: 10; }
.toplinealert .container { display: flex; align-items: center; justify-content: space-between; position: relative; width: 100%; max-width: 1170px; margin: auto; padding: 0 15px; box-sizing: border-box; gap: 15px; }
.toplinealert small { font-size: 14px; color: #fff; text-wrap: balance; line-height: 1.25; }
.toplinealert a { background: #000; color: #fff; padding: 6px 12px; margin-right: 30px; display: inline-block; font-size: 14px; border-radius: 100px; white-space: nowrap; line-height: 1.25; }
.toplinealert__close { position: absolute; right: 10px; top: 0; display: flex; align-items: center; justify-content: center; padding: 0; background: #fff; color: #000; border-radius: 100%; width: 30px; height: 30px; line-height: 1; }
.toplinealert__close svg { display: block; flex: none; }
.address-box { grid-column: span 2; }
.apps-shops { flex-wrap: wrap; }
.apps-link-icon { height: 62px; }
.hm-table-scroll { overflow-x: auto; margin-top: -29px; }
.hm-table-scroll:focus-visible { outline-offset: -3px; }
.apps-table th { font-weight: 400; }
.hm-table-scroll .apps-table { display: table; width: 100%; margin-top: 0; font-variant-numeric: tabular-nums; border-collapse: collapse; }
.apps-table .apps-tr { display: table-row; }
.apps-table .apps-td { display: table-cell; width: 33.333%; vertical-align: middle; padding: 1.125rem .625rem; }
.apps-table .apps-td.head { padding: 1.5rem .625rem; }
.apps-table .apps-tr:first-child .apps-td.head { padding: 1.5rem .625rem; }
.faq-box > summary { list-style: none; }
.faq > .lights { width: 100%; height: 100%; object-fit: fill; }
.faq-box > summary::-webkit-details-marker { display: none; }
.faq-box-title { margin: 0; }
.faq-box-content { display: block; }
.faq-box-content p { margin: 0 0 .85rem; }
.faq-box-content p:last-child { margin-bottom: 0; }
.faq-box-icon { mix-blend-mode: normal; }
.hm-system .faq-box-icon, .hm-help-tabs .faq-box-icon { filter: invert(1); }
.hm-system .about-box.system-box .about-box-icon { filter: brightness(0) invert(1); }
@media (hover: hover) { .hm-menu li:hover:not(.hm-closed) > .sub-menu { display: block; } }
@media (max-width: 1200px) {
    .home .toplinealert { border-radius: 0; top: auto; bottom: 0; position: fixed; width: 100%; z-index: 9999; }
    .home .toplinealert .container { max-width: 760px; }
    .hm-menu { display: block; }
    .hm-menu > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; margin-bottom: .5rem; }
    .hm-menu > li > .navbar-link { min-height: 44px; }
    .hm-submenu-toggle { position: static; width: auto; height: auto; min-height: 44px; overflow: visible; clip-path: none; background: transparent; color: inherit; padding: .5rem; font-size: .75rem; text-decoration: underline; text-underline-offset: .2em; }
    .hm-submenu-toggle:focus-visible { width: auto; padding: .5rem; }
    .hm-menu > li > .navbar-link { padding: 0; }
    .hm-menu .sub-menu { grid-column: 1 / -1; position: static; background: transparent; color: inherit; min-width: 0; box-shadow: none; padding: .5rem 0 .5rem 1rem; }
    .hm-menu .sub-menu .navbar-link { color: inherit; }
}
@media (max-width: 767px) {
    .address-box { grid-column: auto; }
    .toplinealert .container { display: block; padding-right: 40px; }
    .home .toplinealert .container { max-width: 400px; }
    .toplinealert small, .toplinealert a { font-size: 12px; }
    .toplinealert a { padding: 0; background: transparent; text-decoration: underline; }
    .toplinealert a::before { content: "[ "; }
    .toplinealert a::after { content: " ]"; }
    .hm-table-scroll .apps-table { min-width: 600px; margin-top: 0; }
    .about-content > .home-title, .about-content > .about-descript { position: relative; z-index: 2; background: #fff; padding: .5rem 0; }
    .hm-system .about-grid.about-system { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .hm-system .about-box.system-box { min-width: 0; padding: 1rem .5rem; overflow-wrap: anywhere; }
    .footer-contacts-box { gap: 1rem; }
    .footer-contacts-link { line-height: 1.3; }
    .footer-contacts-link small { position: static; display: block; line-height: 1.35; margin-top: .35rem; }
}
@media (max-width: 359px) {
    .hm-system .about-grid.about-system { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Media fields replace the original inline pictograms. */
.about-box.out .hm-audience-icon { width: 42px; height: auto; flex: 0 0 42px; }
.benefit-box-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.footer-contacts-icon img { height: 100%; object-fit: contain; }
/* GS1 keeps the source composition with semantic, editable tables. */
.hm-system .hm-spec-table { width: 100%; border-collapse: collapse; display: table; }
.hm-spec-table th { font-weight: 400; text-align: left; }
.hm-spec-table .tr { display: table-row; }
.hm-spec-table .td { width: 50%; display: table-cell; }
.hm-system .main-subtitle { margin: 0; }
.hm-system .hm-breadcrumbs { margin-bottom: 0; }
.hm-system .info-box-photo, .hm-system .transmitter-image, .hm-system .transmitter-cover { height: auto; }
.hm-system .slide-image video { width: 100%; height: 100%; object-fit: cover; }
.hm-system .arrow { border: 0; background: transparent; padding: 0; }
.hm-system .arrow-icon { width: 100%; height: 100%; }
.hm-system .question-image video { width: 100%; height: 100%; object-fit: cover; }
.hm-system .hm-shops { display: block; }
.hm-shops .shops-list { flex-wrap: wrap; }
.hm-shops .shops-link { flex: 1 1 180px; }
.hm-shops .shops-link-logo { max-width: 180px; max-height: 90px; object-fit: contain; }
.hm-richtext p:last-child { margin-bottom: 0; }
.hm-system .reserach-descript p { margin-bottom: 0; }
.hm-research-table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.hm-research-table th, .hm-research-table td { border-bottom: 1px solid #ffffff26; padding: 1.25rem .75rem; text-align: center; width: 16.667%; vertical-align: middle; font-weight: 400; }
.hm-research-table th:first-child[rowspan], .hm-research-table tbody th { width: 33.333%; text-align: left; }
.hm-research-table th[colspan] { width: 33.333%; }
.hm-research-table thead tr:last-child { color: #ffffffaa; }
.hm-research-table tbody td { font-size: 1.5rem; }
.hm-research-table .hm-result { background: #464c78; }
@media (max-width: 767px) {
    .hm-research-table { min-width: 650px; }
    .hm-research-table th, .hm-research-table td { padding: 1rem .5rem; }
    .hm-research-table tbody td { font-size: 1.125rem; }
}

/* External SVG currentColor uses its own black default. */
.hm-buy-button { filter: none; color: #141414; background-image: none; }
.hm-buy-button .button-icon { filter: none; }

/* Dedicated drawers are independent of the legacy Webflow navbar. */
.hm-header-actions { display: flex; align-items: center; gap: 16px; }
.hm-buy-button { background-color: transparent; }
.hm-menu-button { display: none; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; color: inherit; background: transparent; }
.hm-drawer { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: #141414; overflow: hidden; }
.hm-drawer::backdrop { background: rgb(0 0 0 / .55); backdrop-filter: blur(4px); }
.hm-drawer-panel { box-sizing: border-box; position: absolute; inset: 0 0 0 auto; width: clamp(420px, 34vw, 600px); max-width: 100%; height: 100%; padding: 40px 32px; background: #fff; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #464c78 #f4f4f6; transform: translateX(100%); transition: transform .24s cubic-bezier(.16, 1, .3, 1); }
.hm-drawer.hm-visible .hm-drawer-panel { transform: translateX(0); }
.hm-drawer-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.hm-drawer-heading h2 { margin: 0; font-size: 2rem; line-height: 1.1; }
.hm-drawer-close { display: flex; align-items: center; justify-content: center; flex: 0 0 48px; width: 48px; height: 48px; padding: 0; background: #f1f2f6; color: #141414; border-radius: 50%; transition: background .2s; }
.hm-drawer-close:hover { background: #e0e2ec; }
.hm-drawer-description { margin: 0 0 32px; color: #464c78; font-size: 1.125rem; }
.hm-partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.hm-partner-link { min-width: 0; min-height: 112px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 18px 12px; border: 1px solid #d9dce6; border-radius: 12px; text-decoration: none; color: #141414; transition: border-color .2s, background .2s; text-align: center; }
.hm-partner-link:hover { background: #f4f5f9; border-color: #464c78; }
.hm-partner-link img { display: block; width: 100%; max-width: 152px; height: 50px; object-fit: contain; }
.hm-partner-link span { font-size: .875rem; line-height: 1.25; overflow-wrap: anywhere; }
.hm-mobile-menu { list-style: none; margin: 32px 0; padding: 0; }
.hm-mobile-menu > li { position: relative; border-bottom: 1px solid #d9dce6; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.hm-mobile-menu > li > .navbar-link { display: block; padding: 18px 0; margin: 0; font-size: 1.5rem; line-height: 1.25; color: #141414; }
.hm-mobile-menu .sub-menu { display: none; grid-column: 1 / -1; list-style: none; margin: 0; padding: 0 0 16px 16px; }
.hm-mobile-menu .hm-open > .sub-menu { display: block; }
.hm-mobile-menu .sub-menu .navbar-link { display: block; padding: 10px 0; margin: 0; line-height: 1.3; color: #464c78; }
.hm-mobile-menu .hm-submenu-toggle { position: static; width: 44px; height: 44px; min-height: 44px; padding: 10px; clip-path: none; overflow: visible; background: transparent; color: #464c78; }
.hm-mobile-menu .hm-submenu-toggle svg { width: 20px; height: 20px; transition: transform .2s; }
.hm-mobile-menu .hm-open > .hm-submenu-toggle svg { transform: rotate(180deg); }
.hm-menu-buy { filter: none; color: #fff; background-color: #141414; background-image: none; width: 100%; max-width: none; margin-top: 32px; }
@media (max-width: 1200px) {
    .hm-desktop-nav { display: none; }
    .header-row { justify-content: space-between; }
    .hm-menu-button { display: flex; }
    .hm-header-actions { margin-left: auto; }
    .hm-drawer--menu .hm-drawer-panel { width: 440px; }
}
@media (max-width: 767px) {
    .hm-header-actions { gap: 4px; }
    .hm-buy-button.button--small { width: auto; height: 44px; padding: 0 12px; font-size: .875rem; gap: 12px; }
    .hm-buy-button .button-icon { display: none; }
    .header-row > .logo { max-width: 43%; min-width: 0; }
    .header-row > .logo .logo-icon { width: 100%; }
    .hm-drawer-panel, .hm-drawer--menu .hm-drawer-panel { width: 100%; padding: max(24px, env(safe-area-inset-top)) 24px max(32px, env(safe-area-inset-bottom)); }
    .hm-drawer-heading h2 { font-size: 1.75rem; }
    .hm-partner-grid { gap: 10px; }
    .hm-partner-link { min-height: 108px; padding: 16px 10px; }
}
.hm-desktop-nav .navbar-link[aria-current="page"], .hm-mobile-menu .navbar-link[aria-current="page"] { color: var(--orange); }
