/* Netsense shared site template styles. Loaded on every page. */
:root {--bg: #02090d;
    --bg-2: #061116;
    --panel: #08151b;
    --panel-2: #0b171d;
    --line: #25333a;
    --line-soft: #16252c;
    --text: #f4f5f2;
    --muted: #a7b0b3;
    --green: #05d15e;
    --green-2: #05d15e;
    --cyan: #1dc7ef;
    --container: 1344px;
    --radius: 16px;
    --radius-sm: 8px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;
    --transition: .2s ease;
    --header-height: 90px;
    --shadow: 0 22px 80px rgba(0,0,0,.25);
    font-family: Inter,Arial,Helvetica,sans-serif;
    color-scheme: dark}

* {box-sizing: border-box}

html {scroll-behavior: smooth;
    overflow-x: clip}

body {margin: 0;
    background: radial-gradient(circle at 50% 20%,rgba(9,37,43,.35),transparent 30%),var(--bg);
    color: var(--text);
    font-size: 16px;
    line-height: 1.55;
    overflow-x: hidden}

img {max-width: 100%;
    height: auto;
    display: block}

a {color: inherit;
    text-decoration: none}

button,
input,
textarea {font: inherit;
    color: inherit}

button {cursor: pointer}

.container {width: min(calc(100% - 64px),var(--container));
    margin-inline: auto}

.sr-only {position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    clip: rect(0,0,0,0);
    overflow: hidden;
    white-space: nowrap;
    border: 0}

svg {width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round}

h1,
h2,
h3,
p {margin-top: 0}

h2 {font-size: clamp(30px,2.4vw,42px);
    line-height: 1.12;
    margin-bottom: 30px;
    font-weight: 600;
    letter-spacing: -.03em}

h2 i {display: inline-block;
    width: 10px;
    height: 10px;
    background: var(--green);
    border-radius: 50%;
    margin-left: 9px;
    vertical-align: .15em}

.button {display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    min-height: 52px;
    padding: 0 27px;
    border-radius: 8px;
    border: 1px solid transparent;
    font-weight: 600;
    transition: var(--transition)}

.button svg {width: 22px;
    height: 22px}

.button-primary {color: #061004;
    background: var(--green);
    box-shadow: 0 0 36px rgba(5,209,94,.16)}

.button-primary:hover {filter: brightness(1.08);
    transform: translateY(-1px)}

.button-ghost {border-color: #445159;
    background: rgba(7,16,20,.55)}

.button-ghost:hover,
.button-outline:hover {border-color: var(--green);
    color: var(--green)}

.button-outline {border-color: var(--green);
    color: var(--green);
    background: transparent}

.text-link {display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--green);
    font-weight: 600}

.text-link svg {width: 18px}

.site-header {height: var(--header-height);
    position: relative;
    z-index: 50;
    border-bottom: 1px solid var(--line-soft);
    background: rgba(2,8,12,.92);
    backdrop-filter: blur(15px)}

.header-inner {height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px}

.brand img {width: 212px;
    height: auto}

.main-nav {display: flex;
    gap: 48px;
    margin-left: auto}

.main-nav a {font-size: 15px}

.main-nav a:hover {color: var(--green)}

.header-cta {min-height: 48px;
    margin-left: 42px}

.menu-toggle,
.mobile-menu {display: none}

.contact-form {display: grid;
    gap: 14px}

.form-row {display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px}

.contact-form input,
.contact-form textarea {width: 100%;
    background: #071116;
    border: 1px solid #48565c;
    border-radius: 8px;
    padding: 15px 18px;
    outline: 0}

.contact-form input:focus,
.contact-form textarea:focus {border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(5,209,94,.08)}

.contact-form [aria-invalid=true] {border-color: #f05e5e}

.file-control {height: 58px;
    border: 1px solid #48565c;
    border-radius: 8px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    gap: 8px}

.file-control label {display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    flex: 1}

.file-control small {color: #7f898d;
    font-size: 12px;
    line-height: 1.3}

.file-control button {border: 0;
    background: none;
    font-size: 24px;
    color: #9aa3a5}

.consent {display: flex;
    align-items: center;
    gap: 11px;
    cursor: pointer}

.consent input {position: absolute;
    opacity: 0;
    pointer-events: none;
    width: auto}

.consent>span {width: 22px;
    height: 22px;
    border: 1px solid var(--green);
    border-radius: 4px;
    display: grid;
    place-items: center;
    flex: 0 0 auto}

.consent input:checked+span:after {content: "✓";
    color: var(--green);
    font-weight: 700}

.consent a {color: var(--green)}

.contact-form .smartcaptcha-notice {margin: -2px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45}

.contact-form .smartcaptcha-notice a {color: var(--green);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px}

.form-submit {justify-self: end;
    width: 55%;
    min-width: 320px}

.form-error {color: #ff8585;
    margin: 0}

.ns-toast-root {position: fixed;
    z-index: 11050;
    top: 24px;
    left: 50%;
    right: auto;
    width: min(560px,calc(100vw - 48px));
    display: grid;
    gap: 12px;
    transform: translateX(-50%);
    pointer-events: none}

.ns-toast {--ns-toast-accent: #7d8c93;
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 16px;
    padding: 18px 20px 17px;
    border: 1px solid rgba(255,255,255,.13);
    border-left: 4px solid var(--ns-toast-accent);
    border-radius: 14px;
    background: rgba(8,21,27,.985);
    box-shadow: 0 24px 70px rgba(0,0,0,.52);
    color: var(--text);
    opacity: 0;
    transform: translate3d(0,-14px,0);
    transition: opacity .22s ease,transform .22s ease;
    pointer-events: auto;
    backdrop-filter: blur(16px)}

.ns-toast.is-visible {opacity: 1;
    transform: translate3d(0,0,0)}

.ns-toast.is-hiding {opacity: 0;
    transform: translate3d(0,-14px,0)}

.ns-toast--success {--ns-toast-accent: var(--green);
    border-color: rgba(87,255,129,.32);
    border-left-color: var(--green);
    background: linear-gradient(135deg,rgba(11,31,30,.99),rgba(7,21,27,.99));
    box-shadow: 0 24px 76px rgba(0,0,0,.55),0 0 0 1px rgba(87,255,129,.08),0 0 32px rgba(87,255,129,.12)}

.ns-toast--error {--ns-toast-accent: #ff676f;
    border-color: rgba(255,103,111,.34);
    border-left-color: #ff676f;
    background: linear-gradient(135deg,rgba(39,17,22,.99),rgba(12,19,24,.99));
    box-shadow: 0 24px 76px rgba(0,0,0,.55),0 0 0 1px rgba(255,103,111,.08),0 0 32px rgba(255,103,111,.12)}

.ns-toast--neutral {--ns-toast-accent: #7d8c93}

.ns-toast__content {min-width: 0}

.ns-toast__title {font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -.01em}

.ns-toast__text {margin-top: 5px;
    color: #c7cfd1;
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: anywhere}

.ns-toast__close {width: 30px;
    height: 30px;
    margin: -5px -6px 0 0;
    padding: 0;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.035);
    color: #c1c9cb;
    font: 400 24px/28px Arial,sans-serif;
    cursor: pointer;
    border-radius: 8px}

.ns-toast__close:hover,
.ns-toast__close:focus-visible {color: var(--text);
    background: rgba(255,255,255,.09);
    outline: none}

.ns-toast__progress {position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background: var(--ns-toast-accent);
    transform-origin: left center;
    animation-name: ns-toast-progress;
    animation-timing-function: linear;
    animation-fill-mode: forwards}

@keyframes ns-toast-progress {from { transform: scaleX(1) }
    to { transform: scaleX(0) }}

@media (max-width: 640px) {
    .ns-toast-root {top: max(12px,env(safe-area-inset-top));
        right: 12px;
        bottom: auto;
        left: 12px;
        width: auto;
        transform: none}

    .ns-toast {width: 100%;
        padding: 16px 17px 15px;
        transform: translate3d(0,-12px,0)}

    .ns-toast.is-visible {transform: translate3d(0,0,0)}

    .ns-toast.is-hiding {transform: translate3d(0,-12px,0)}

    .ns-toast__title {font-size: 16px}

    .ns-toast__text {font-size: 14px}
}

@media (prefers-reduced-motion: reduce) {
    .ns-toast {transition: none}

    .ns-toast__progress {animation: none}
}

.site-footer {border-top: 1px solid var(--line-soft);
    padding: 36px 0 28px}

.footer-top {display: grid;
    grid-template-columns: 1.35fr 1fr .95fr .9fr .8fr;
    gap: 52px;
    padding-bottom: 32px}

.footer-brand img {width: 190px}

.footer-brand p {color: #aeb5b7;
    max-width: 270px;
    margin: 18px 0}

.site-footer h3 {font-size: 17px;
    margin-bottom: 12px}

.site-footer a,
.site-footer p {display: block;
    color: #aeb5b7;
    margin: 7px 0}

.site-footer a:hover {color: var(--green)}

.footer-bottom {border-top: 1px solid var(--line);
    padding-top: 28px;
    display: grid;
    grid-template-columns: 1fr 1.15fr 1fr 1fr;
    gap: 44px}

.footer-bottom p {display: flex;
    align-items: center;
    gap: 10px}

.footer-bottom svg {width: 20px;
    height: 20px;
    color: var(--green)}

.socials {display: flex;
    gap: 15px}

.socials a {width: 52px;
    height: 52px;
    border: 1px solid #657075;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: white;
    font-weight: 700}

.legal-placeholder {opacity: .68}

main[id],
section[id] {scroll-margin-top: calc(var(--header-height) + 16px)}

body.menu-open {overflow: hidden}

.menu-icon-close {display: none}

.menu-toggle[aria-expanded=true] .menu-icon-open {display: none}

.menu-toggle[aria-expanded=true] .menu-icon-close {display: block}

.brand-icon {fill: currentColor;
    stroke: none}

.brand-icon path {stroke: none}

.footer-accordion-trigger {display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    text-align: left;
    font: inherit;
    font-weight: inherit;
    cursor: default;
    pointer-events: none}

.footer-accordion-trigger svg {display: none;
    width: 18px;
    height: 18px}

.footer-accordion-panel {display: block}

.consent input:focus-visible+span {outline: 2px solid var(--green);
    outline-offset: 3px}

[data-placeholder-link] {cursor: pointer}

@media (max-width:1180px) {
    .main-nav {gap: 26px}

    .header-cta {margin-left: 10px}

    .footer-top {gap: 28px}
}

@media (max-width:900px) {
    .container {width: min(calc(100% - 36px),var(--container))}

    .main-nav,
    .header-cta {display: none}

    .menu-toggle {display: grid;
        border: 0;
        background: none;
        color: var(--text);
        place-items: center}

    .mobile-menu {top: var(--header-height);
        left: 0;
        right: 0;
        bottom: 0;
        position: fixed;
        background: var(--bg-2);
        border-bottom: 1px solid var(--line);
        padding: 20px max(18px,calc((100vw - 1344px)/2));
        gap: 14px;
        flex-direction: column;
        overflow-y: auto;
        overscroll-behavior: contain}

    .mobile-menu[hidden] {display: none}

    .mobile-menu:not([hidden]) {display: flex}

    .mobile-menu a {padding: 8px 0}

    .footer-top {grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 28px}

    .footer-brand {grid-column: 1/-1}

    .footer-top>div:nth-child(4),
    .footer-top>div:nth-child(5) {display: block}

    .footer-bottom {grid-template-columns: 1fr 1fr}
}

@media (max-width:767px) {
    :root {--radius: 10px;
        --header-height: 54px}

    body {font-size: 14px;
        line-height: 1.55}

    .container {width: calc(100% - 24px)}

    .site-header {height: var(--header-height)}

    .header-inner {gap: 12px}

    .brand img {width: 104px}

    .menu-toggle {width: 40px;
        height: 40px;
        border-radius: 6px}

    .menu-toggle svg {width: 24px;
        height: 24px}

    .mobile-menu {top: var(--header-height);
        padding: 18px 14px 28px;
        font-size: 15px}

    .mobile-menu a {padding: 10px 0}

    .mobile-menu .button {margin-top: 8px}

    .button {min-height: 44px;
        padding: 0 16px;
        font-size: 14px;
        gap: 10px;
        border-radius: 6px}

    .button svg {width: 19px;
        height: 19px}

    h2 {font-size: clamp(24px,7vw,28px);
        line-height: 1.12;
        margin-bottom: 18px}

    h2 i {width: 7px;
        height: 7px;
        margin-left: 5px}

    .contact-form {gap: 9px}

    .form-row {grid-template-columns: 1fr;
        gap: 9px}

    .contact-form input,
    .contact-form textarea {font-size: 14px;
        padding: 12px;
        border-radius: 6px}

    .contact-form textarea {min-height: 110px}

    .file-control {height: 48px;
        border-radius: 6px;
        font-size: 13px;
        padding: 0 10px}

    .file-control svg {width: 17px;
        height: 17px}

    .file-control button svg {width: 18px;
        height: 18px}

    .consent {font-size: 12px;
        line-height: 1.4;
        align-items: flex-start}

    .consent>span {width: 18px;
        height: 18px;
        margin-top: 1px}

    .form-submit {width: 100%;
        min-width: 0;
        min-height: 44px}

    .form-error {font-size: 13px}

    .site-footer {padding: 18px 0 22px}

    .footer-top {display: block;
        padding-bottom: 10px}

    .footer-brand img {width: 120px}

    .footer-brand p {display: block;
        font-size: 13px;
        line-height: 1.45;
        margin: 12px 0}

    .footer-brand>span {display: block;
        font-size: 12px;
        color: #8f999c;
        margin-bottom: 14px}

    .footer-top>div:nth-child(n) {display: block}

    .footer-accordion-item {border-top: 1px solid var(--line);
        padding: 0}

    .footer-accordion-item h3 {font-size: 14px;
        margin: 0}

    .footer-accordion-trigger {min-height: 46px;
        cursor: pointer;
        pointer-events: auto;
        font-size: 14px}

    .footer-accordion-trigger svg {display: block;
        width: 18px;
        height: 18px;
        transition: transform var(--transition)}

    .footer-accordion-panel {display: none;
        padding: 0 0 10px}

    .footer-accordion-panel a {font-size: 13px;
        margin: 8px 0;
        padding: 2px 0}

    .footer-bottom {display: block;
        border-top: 1px solid var(--line);
        padding-top: 0}

    .footer-contacts {padding: 14px 0;
        border: 0}

    .footer-contacts h3 {font-size: 14px;
        margin-bottom: 8px}

    .footer-contacts p {font-size: 13px;
        margin: 7px 0}

    .footer-bottom>.footer-accordion-item {display: block}

    .legal-placeholder {padding: 14px 0;
        border-top: 1px solid var(--line);
        font-size: 12px}

    .footer-bottom>div:last-child {padding: 14px 0;
        border-top: 1px solid var(--line)}

    .footer-bottom>div:last-child h3 {font-size: 14px}

    .socials a {width: 44px;
        height: 44px}

    .socials .brand-icon {width: 20px;
        height: 20px}
}

@media (prefers-reduced-motion:reduce) {
    html {scroll-behavior: auto}

    *,
    *:before,
    *:after {transition-duration: .01ms!important;
        animation-duration: .01ms!important;
        animation-iteration-count: 1!important;
        scroll-behavior: auto!important}
}

:focus-visible {outline: 2px solid var(--green);
    outline-offset: 3px}

@media (min-width: 1181px) {
    h2 {font-size: 30px;
        line-height: 1.15;
        margin-bottom: 22px;}

    .brand img {width: 220px;}

    .main-nav {gap: 52px;}

    .header-cta {min-width: 222px;
        margin-left: 30px;}

    .contact-form {gap: 12px;}

    .contact-form input,
    .contact-form textarea {padding: 13px 16px;}

    .file-control {height: 56px;}

    .form-submit {min-height: 54px;}

    .site-footer {padding: 38px 0 34px;}

    .footer-top {min-height: 238px;
        padding-bottom: 34px;
        gap: 48px;}

    .footer-brand img {width: 190px;}

    .footer-bottom {min-height: 180px;
        padding-top: 30px;}
}

@media (min-width: 1181px) {
    .site-footer {padding-bottom: 58px;}
}

@media (max-width: 767px) {
    :root {--header-height: 52px;}

    body {font-size: 14px;}

    .container {width: calc(100% - 24px);}

    h2 {font-size: 21px;
        line-height: 1.14;
        margin-bottom: 14px;}

    .header-inner {gap: 8px;}

    .brand img {width: 108px;}

    .header-cta {display: inline-flex;
        min-width: 0;
        min-height: 36px;
        margin-left: auto;
        padding: 0 10px;
        gap: 6px;
        border-radius: 4px;
        font-size: 12px;
        white-space: nowrap;}

    .header-cta svg {width: 14px;
        height: 14px;}

    .menu-toggle {width: 36px;
        height: 36px;}

    .menu-toggle svg {width: 22px;
        height: 22px;}

    .contact-form {gap: 7px;}

    .contact-form input,
    .contact-form textarea {padding: 10px;
        font-size: 13px;}

    .contact-form textarea {min-height: 92px;}

    .file-control {height: 44px;}

    .form-submit {min-height: 44px;}

    .site-footer {display: grid;
        padding: 14px 12px 20px;}

    .footer-top,
    .footer-bottom {display: contents;}

    .footer-brand {order: 1;
        padding-bottom: 10px;}

    .footer-brand img {width: 112px;}

    .footer-brand p {display: none;}

    .footer-brand > span {margin: 8px 0 0;}

    .footer-contacts {order: 2;
        padding: 6px 0 10px;}

    .footer-contacts p {font-size: 12px;}

    .footer-top > .footer-accordion-item {order: 3;}

    .footer-bottom > .footer-accordion-item {order: 4;}

    .legal-placeholder {order: 5;
        opacity: .72;}

    .footer-bottom > div:last-child {order: 6;}

    .footer-accordion-trigger {min-height: 44px;}

    .footer-accordion-panel {padding-bottom: 7px;}

    .footer-accordion-panel a,
    .footer-accordion-panel p {font-size: 12px;
        line-height: 1.4;}

    .socials a {width: 44px;
        height: 44px;}
}

@media (max-width: 767px) {
    .header-cta {min-height: 40px;}

    .menu-toggle {width: 40px;
        height: 40px;}
}

@media (max-width: 767px) {
    .header-cta,
    .menu-toggle {min-height: 44px;}

    .menu-toggle {width: 44px;
        height: 44px;}
}

.contact-form .file-input-visually-hidden {position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;}

.contact-form .file-input-visually-hidden:focus-visible + label {outline: 2px solid var(--green);
    outline-offset: 3px;}

@media (min-width: 901px) {
    body {background: var(--bg);}
}

@media (min-width: 901px) {
    .contact-form {padding-left: 54px;
        border-left: 1px solid var(--line);}
}

@media (min-width: 901px) and (max-width: 1180px) {
    .contact-form {padding-left: 38px;}
}

.footer-bottom.footer-legal {border-top: 1px solid var(--line);
    padding-top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;}

.site-footer .footer-copyright,
.site-footer .footer-privacy {color: #7f898c;
    font-size: 13px;
    line-height: 1.4;
    margin: 0;}

.site-footer .footer-privacy {display: inline-flex;
    text-align: right;}

.site-footer .footer-privacy:hover {color: var(--green);}

.cookie-consent {position: fixed;
    z-index: 1200;
    left: 0;
    right: 0;
    bottom: 0;
    border-top: 1px solid var(--green);
    background: rgba(9,22,28,.98);
    box-shadow: 0 -18px 60px rgba(0,0,0,.34);}

.cookie-consent[hidden] {display: none !important;}

.cookie-consent__inner {min-height: 118px;
    padding-top: 18px;
    padding-bottom: 18px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 44px;}

.cookie-consent__copy {max-width: 900px;}

.cookie-consent__eyebrow {display: block;
    margin-bottom: 5px;
    color: var(--green);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;}

.cookie-consent__copy strong {display: block;
    margin-bottom: 4px;
    color: var(--text);
    font-size: 20px;
    line-height: 1.25;
    font-weight: 600;}

.cookie-consent__copy p {margin: 0;
    max-width: 820px;
    color: #aeb6b7;
    font-size: 14px;
    line-height: 1.55;}

.cookie-consent__copy a {color: #d2d8d9;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: #586469;}

.cookie-consent__copy a:hover {color: var(--green);
    text-decoration-color: currentColor;}

.cookie-consent__accept {min-width: 168px;
    flex: 0 0 auto;}

@media (max-width: 767px) {
    .footer-bottom.footer-legal {padding-top: 18px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;}

    .site-footer .footer-privacy {text-align: left;}

    .cookie-consent__inner {min-height: 0;
        padding-top: 16px;
        padding-bottom: 16px;
        grid-template-columns: 1fr;
        gap: 14px;}

    .cookie-consent__copy strong {font-size: 18px;}

    .cookie-consent__copy p {font-size: 13px;
        line-height: 1.5;}

    .cookie-consent__accept {width: 100%;
        min-width: 0;}
}

@media (min-width: 901px) {
    .site-footer {padding-bottom: 24px;}

    .footer-bottom.footer-legal {position: relative;
        min-height: 0;
        border-top: 0;
        padding-top: 22px;}

    .footer-bottom.footer-legal::before {content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 100vw;
        height: 1px;
        background: var(--line);
        transform: translateX(-50%);
        pointer-events: none;}
}

@media (max-width: 767px) {
    :root {--header-height: 50px;}

    body {background: var(--bg);}

    .site-header {position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: var(--header-height);
        z-index: 100;}

    main {padding-top: var(--header-height);}

    .header-inner {height: 100%;
        gap: 7px;}

    .brand img {width: 108px;}

    .header-cta {display: inline-flex;
        min-width: 0;
        min-height: 32px !important;
        height: 32px;
        margin-left: auto;
        padding: 0 8px;
        gap: 4px;
        border-radius: 4px;
        font-size: 11px;
        line-height: 1;
        white-space: nowrap;}

    .header-cta svg {width: 12px;
        height: 12px;}

    .menu-toggle {width: 32px;
        height: 32px;
        min-height: 32px !important;
        padding: 0;
        border-radius: 0;}

    .menu-toggle svg {width: 20px;
        height: 20px;}

    .mobile-menu {position: fixed;
        top: var(--header-height);
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 99;
        width: 100%;
        padding: 8px 12px 24px;
        gap: 0;
        background: rgba(2,9,13,.985);
        border: 0;
        border-radius: 0;
        overflow-y: auto;
        overscroll-behavior: contain;}

    .mobile-menu a:not(.button) {padding: 15px 0;
        border-bottom: 1px solid var(--line);
        font-size: 17px;
        line-height: 1.25;}

    .mobile-menu .button {display: none;}
}

@media (max-width: 767px) {
    .site-header {backdrop-filter: none;
        -webkit-backdrop-filter: none;}

    .mobile-menu {position: fixed;
        top: var(--header-height);
        left: 0;
        right: 0;
        bottom: auto;
        width: 100%;
        height: calc(100dvh - var(--header-height));
        min-height: calc(100vh - var(--header-height));
        z-index: 99;
        padding: 18px 18px 28px;
        display: flex;
        flex-direction: column;
        gap: 0;
        background: #02090d;
        border: 0;
        border-radius: 0;
        overflow-y: auto;
        overscroll-behavior: contain;}

    .mobile-menu[hidden] {display: none !important;}

    .mobile-menu:not([hidden]) {display: flex !important;}

    .mobile-menu a:not(.button) {display: flex;
        align-items: center;
        min-height: 54px;
        padding: 0;
        border-bottom: 1px solid var(--line);
        font-size: 18px;
        font-weight: 500;}

    .site-footer {display: block !important;
        padding: 16px 0 20px;}

    .site-footer .footer-top {display: block !important;
        padding-bottom: 0;}

    .site-footer .footer-bottom.footer-legal {display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        width: min(calc(100% - 36px), var(--container));
        margin-inline: auto;
        padding: 16px 0 0;
        border-top: 1px solid var(--line);}

    .site-footer .footer-brand,
    .site-footer .footer-top > .footer-accordion-item,
    .site-footer .footer-bottom.footer-legal {order: initial !important;}

    .site-footer .footer-copyright,
    .site-footer .footer-privacy {font-size: 12px;
        line-height: 1.45;}
}


/* Universal feedback-form honeypot: present for spam detection, never visible to users. */
.hp-field {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}


/* Footer platform trust badges. */
.footer-platforms {
    display: grid;
    gap: 0;
    max-width: 300px;
    margin-top: 18px;
}
.footer-platform {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin: 0 !important;
    padding: 9px 0;
    color: #aeb5b7 !important;
    text-decoration: none;
    border-top: 1px solid rgba(45,63,69,.55);
}
.footer-platform:last-child {border-bottom: 1px solid rgba(45,63,69,.55);}
.footer-platform__mark {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #657075;
    border-radius: 50%;
    color: #c7ced0;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    transition: color var(--transition), border-color var(--transition);
}
.footer-platform__copy {min-width: 0;}
.footer-platform__copy strong,
.footer-platform__copy small {display: block;}
.footer-platform__copy strong {
    color: #d8ddde;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 650;
    transition: color var(--transition);
}
.footer-platform__copy small {
    margin-top: 2px;
    color: #7f898c;
    font-size: 12px;
    line-height: 1.35;
}
.footer-platform:hover .footer-platform__copy strong,
.footer-platform:focus-visible .footer-platform__copy strong {color:#fff;}
.footer-platform--bitrix:hover .footer-platform__mark,
.footer-platform--bitrix:focus-visible .footer-platform__mark {color:#ef3340;border-color:#ef3340;}
.footer-platform--b24:hover .footer-platform__mark,
.footer-platform--b24:focus-visible .footer-platform__mark {color:#2fc7f7;border-color:#2fc7f7;}
@media (max-width:767px) {
    .footer-platforms {max-width:none;margin-top:10px;}
    .footer-platform {grid-template-columns:34px minmax(0,1fr);gap:10px;padding:8px 0;}
    .footer-platform__mark {width:32px;height:32px;font-size:12px;}
    .footer-platform__copy strong {font-size:13px;}
    .footer-platform__copy small {font-size:12px;}
}

/* step181a: notify visual contract */
.ns-toast {
    border-left-width: 1px;
    border-radius: 0;
    background: #08151b;
    box-shadow: 0 18px 48px rgba(0,0,0,.42);
    backdrop-filter: none;
}

.ns-toast--success {
    border-color: rgba(87,255,129,.28);
    background: #08151b;
    box-shadow: 0 18px 48px rgba(0,0,0,.42);
}

.ns-toast--error {
    border-color: rgba(255,103,111,.42);
    background: #08151b;
    box-shadow: 0 18px 48px rgba(0,0,0,.42);
}

.ns-toast--neutral {
    border-color: rgba(125,140,147,.28);
    background: #08151b;
    box-shadow: 0 18px 48px rgba(0,0,0,.42);
}

.ns-toast__close {
    border-radius: 0;
}

.ns-toast__progress {
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
}
