/* Interactive image: original artwork, accessible links and camera transitions. */
.capabilities-page {
    background: #f7f9fc;
}

.capabilities-page .seo-breadcrumbs {
    padding-block: 24px 0;
    font-size: 11px;
    color: #78869a;
}

.capabilities-page .cap-hero {
    display: grid;
    grid-template-columns: 1.12fr 1fr;
    align-items: center;
    gap: 64px;
    padding-block: 52px 80px;
}

.cap-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 22px;
    color: #3769ff;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .13em;
}

.cap-eyebrow > span, .cap-live-dot, .cap-connected i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #3769ff;
    box-shadow: 0 0 0 4px #3769ff12;
}

.cap-hero h1 {
    margin: 0 0 24px;
    font-size: clamp(42px, 4.6vw, 70px);
    font-weight: 750;
    line-height: 1.06;
    letter-spacing: -.055em;
}

.cap-hero h1 em, .cap-catalog-heading h2 em, .cap-workflow h2 em {
    color: #3769ff;
    font-style: normal;
}

.cap-lead {
    max-width: 470px;
    color: #66758b;
    font-size: 16px;
    line-height: 1.8;
}

.cap-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 28px;
}

.cap-hero-actions .btn {
    gap: 22px;
    padding: 16px 22px;
    border-radius: 12px;
    background: #3769ff;
    color: #fff;
    font-size: 13px;
    box-shadow: 0 6px 18px #3769ff24;
}

.cap-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    color: #344865;
    font-size: 12px;
    font-weight: 650;
}

.cap-text-link:hover { color: #3769ff; }

.cap-hero-note {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 35px;
}

.cap-hero-note > span {
    color: #253b5c;
    font-size: 40px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: -.06em;
}

.cap-hero-note p {
    margin: 0;
    padding-left: 16px;
    border-left: 1px solid #d6dfec;
    color: #7a879b;
    font-size: 11px;
    line-height: 1.6;
}

.cap-visual {
    position: relative;
    padding: 25px;
    border: 1px solid #233d5b;
    border-radius: 28px;
    background: radial-gradient(ellipse at 50% 45%, #143660, #071828 70%);
    box-shadow: 0 25px 60px #0b254a1c, inset 0 1px #ffffff10;
    color: #fff;
}

.cap-visual-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #92a9c5;
    font-size: 8px;
    letter-spacing: .09em;
}

.cap-live-dot, .cap-connected i {
    display: inline-block;
    flex-shrink: 0;
    background: #61d3bd;
    box-shadow: 0 0 12px #61d3bd50;
}

.cap-visual-plus {
    margin-left: auto;
    color: #73adff;
    font-size: 21px;
}

.cap-orbit {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    margin-block: 24px;
}

.cap-orbit::before {
    content: '';
    position: absolute;
    inset: 18%;
    border: 1px dashed #6fa7ee40;
    border-radius: 50%;
    pointer-events: none;
}

.cap-orbit-item {
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 10px 8px 13px;
    border: 1px solid #a2c9ff1f;
    border-radius: 18px;
    background: #071828;
    font-size: 11px;
    font-weight: 550;
    text-align: center;
    transition: border-color .2s, transform .2s;
}

.cap-art {
    display: block;
    flex-shrink: 0;
    width: 112px;
    height: 112px;
    background: #071828 url('/assets/images/home/mega-feature-atlas.png') var(--art-x) var(--art-y) / 300% 400%;
}

.cap-orbit-item .cap-art { border-radius: 12px; }
.cap-orbit-item:hover { transform: translateY(-3px); border-color: #5296f3; }

.cap-orbit-center {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border: 6px solid #0d2541;
    border-radius: 23px;
    background: linear-gradient(145deg, #5497ff, #1656ed);
    box-shadow: 0 0 30px #2678ff50;
    font-size: 33px;
    font-weight: 800;
    line-height: 1;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.cap-orbit-center > span { margin-top: 4px; font-size: 8px; letter-spacing: -.02em; }

.cap-visual-bottom {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 12px;
    padding-top: 17px;
    border-top: 1px solid #9dc1f21a;
    color: #849bb8;
    font-size: 12px;
    line-height: 1.6;
}

.cap-visual-bottom strong { color: #edf4ff; font-weight: 600; }
.cap-connected { display: flex; align-items: center; gap: 7px; font-size: 9px; }
.cap-connected i { width: 5px; height: 5px; }

.capabilities-page .hub-grid { padding-block: 55px 70px; border-top: 1px solid #dfe6f0; scroll-margin-top: 110px; }
.cap-catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.cap-catalog-heading .cap-eyebrow { margin-bottom: 16px; }
.cap-catalog-heading h2, .cap-workflow h2 { margin: 0; font-size: clamp(30px, 3.1vw, 46px); letter-spacing: -.045em; line-height: 1.15; }
.cap-catalog-heading > p { margin: 0 0 3px; color: #748298; font-size: 13px; line-height: 1.8; }
.cap-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.cap-filters button { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 16px; border: 1px solid #dce4ef; border-radius: 10px; background: #fff; color: #586b85; font-size: 12px; font-weight: 600; transition: background .2s, color .2s, border-color .2s; }
.cap-filters button > span { font-size: 10px; opacity: .65; }
.cap-filters button:hover { border-color: #3769ff; }
.cap-filters button[aria-pressed="true"] { background: #142b49; border-color: #142b49; color: #fff; }
.cap-results { margin: 18px 0; color: #7b8a9f; font-size: 11px; }
.capabilities-page .feature-grid { gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.capabilities-page .feature-card { overflow: hidden; padding: 0; border: 1px solid #dfe6f0; border-radius: 18px; background: #fff; }
.capabilities-page .feature-card[hidden] { display: none; }
.capabilities-page .feature-card:hover { border-color: #82a6f0; box-shadow: 0 16px 35px #15366b12; transform: translateY(-5px); }
.cap-card-art { position: relative; display: flex; justify-content: center; align-items: center; min-height: 195px; background: radial-gradient(ellipse at 50% 70%, #112a46, #071828 75%); }
.cap-card-art .cap-art { width: 158px; height: 158px; border-radius: 18px; transition: transform .3s; }
.feature-card:hover .cap-card-art .cap-art { transform: translateY(-3px) scale(1.04); }
.cap-card-number { position: absolute; top: 17px; left: 19px; color: #829cba; font-size: 9px; letter-spacing: .08em; }
.cap-card-category { position: absolute; bottom: 12px; left: 18px; color: #b3c7df; font-size: 9px; }
.cap-card-copy { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.capabilities-page .feature-card h3 { margin-bottom: 12px; font-size: 21px; line-height: 1.25; letter-spacing: -.035em; }
.capabilities-page .feature-card p { margin-bottom: 26px; color: #748298; font-size: 13px; line-height: 1.75; }
.capabilities-page .feature-card .card-link { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 16px; border-top: 1px solid #edf0f6; color: #3769ff; font-size: 11px; font-weight: 650; }
.capabilities-page .card-link > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #eff4ff; font-size: 16px; }
.cap-workflow { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; margin-bottom: 80px; padding: 48px; border: 1px solid #dfe6f0; border-radius: 24px; background: #edf2fa; }
.cap-workflow > div > p:last-child { margin: 22px 0 0; color: #6d7e97; font-size: 14px; line-height: 1.85; }
.cap-workflow ol { margin: 0; padding: 0; list-style: none; }
.cap-workflow li + li { margin-top: 10px; }
.cap-workflow li a { display: flex; align-items: center; gap: 16px; padding: 12px 16px 12px 12px; border: 1px solid #dde6f3; border-radius: 14px; background: #fff; transition: border-color .2s, transform .2s; }
.cap-workflow li a:hover { border-color: #8bacf0; transform: translateX(3px); }
.cap-workflow .cap-art { width: 54px; height: 54px; border-radius: 11px; }
.cap-workflow li small { display: block; margin-bottom: 3px; color: #7689a4; font-size: 9px; }
.cap-workflow li strong { display: block; font-size: 12px; font-weight: 650; line-height: 1.4; }
.cap-workflow li b { margin-left: auto; color: #3769ff; font-size: 18px; font-weight: 400; }
.capabilities-page .tint { background: #fff; border-block: 1px solid #e7edf5; }
.capabilities-page .closing { margin-top: 65px; border-radius: 24px; background: radial-gradient(ellipse at top right, #20488d, #0b1b32 70%); }

@media (min-width: 1500px) {
    .cap-visual { padding: 30px; }
    .cap-orbit-item .cap-art { width: 140px; height: 140px; }
}

@media (max-width: 1100px) {
    .capabilities-page .cap-hero { gap: 32px; }
    .cap-hero h1 { font-size: 52px; }
    .cap-visual { padding: 20px; }
    .cap-orbit { gap: 24px; }
    .cap-orbit-item .cap-art { width: 98px; height: 98px; }
    .cap-visual-heading { font-size: 7px; }
    .cap-card-copy { padding: 20px; }
    .cap-workflow { gap: 35px; padding: 32px; }
}

@media (max-width: 800px) {
    .capabilities-page .cap-hero { grid-template-columns: 1fr; gap: 36px; padding-block: 35px 50px; }
    .cap-hero h1 { font-size: clamp(44px, 8vw, 64px); }
    .cap-lead { max-width: 560px; }
    .cap-visual { width: 100%; max-width: 520px; justify-self: center; }
    .cap-orbit-item .cap-art { width: 120px; height: 120px; }
    .cap-visual-heading { font-size: 8px; }
    .capabilities-page .hub-grid { padding-block: 40px 50px; }
    .cap-catalog-heading { align-items: start; flex-direction: column; gap: 18px; }
    .capabilities-page .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .cap-workflow { grid-template-columns: 1fr; gap: 28px; margin-bottom: 50px; }
}

@media (max-width: 520px) {
    .capabilities-page .seo-breadcrumbs { font-size: 10px; }
    .cap-hero h1 { font-size: 44px; }
    .cap-hero-actions { align-items: start; flex-direction: column; gap: 8px; margin-top: 22px; }
    .cap-hero-actions .btn { width: 100%; justify-content: space-between; }
    .cap-hero-note { margin-top: 23px; }
    .cap-visual { border-radius: 20px; padding: 18px; }
    .cap-orbit { gap: 25px; margin-block: 18px; }
    .cap-orbit-item { font-size: 10px; padding-inline: 4px; border-radius: 14px; }
    .cap-orbit-item .cap-art { width: 98px; height: 98px; }
    .cap-orbit-center { width: 65px; height: 65px; font-size: 29px; border-width: 5px; border-radius: 19px; }
    .cap-visual-heading { font-size: 6px; gap: 7px; }
    .cap-visual-bottom { font-size: 11px; }
    .cap-connected { font-size: 8px; }
    .cap-catalog-heading h2, .cap-workflow h2 { font-size: 32px; }
    .cap-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cap-filters button { justify-content: space-between; gap: 5px; padding-inline: 11px; font-size: 10px; text-align: left; }
    .capabilities-page .feature-grid { grid-template-columns: 1fr; gap: 20px; }
    .cap-card-art { min-height: 185px; }
    .cap-card-copy { padding: 24px; }
    .capabilities-page .feature-card h3 { font-size: 23px; }
    .capabilities-page .feature-card p { font-size: 14px; }
    .cap-workflow { padding: 26px 20px; border-radius: 18px; }
    .cap-workflow li a { gap: 12px; padding-right: 12px; }
    .cap-workflow li strong { font-size: 11px; }
    .cap-workflow li small { font-size: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    .cap-orbit-item, .cap-card-art .cap-art, .capabilities-page .feature-card, .cap-filters button, .cap-workflow li a { transition: none; }
    .cap-orbit-item:hover, .feature-card:hover .cap-card-art .cap-art, .capabilities-page .feature-card:hover, .cap-workflow li a:hover { transform: none; }
}

.contacts-page {
    color: #0b1739;
    background: #f2f7ff;
    line-height: 1.5;
}

.contacts-page .container {
    width: min(1320px, calc(100% - 80px));
}

.contacts-page h2 {
    margin-bottom: 4px;
    font-size: clamp(25px, 2.6vw, 36px);
    letter-spacing: -.035em;
}

.contacts-hero {
    color: #fff;
    background: linear-gradient(90deg, #03172eeb, #05234175 55%, #03152a18), url('/assets/images/home/wash-desktop.webp') center 52% / cover;
}

.contacts-hero-content {
    padding-block: 160px 42px;
}

.contacts-hero h1 {
    margin: 0 0 6px;
    font-size: clamp(44px, 5vw, 70px);
    color: #fff;
}

.contacts-lead {
    font-size: clamp(20px, 2.1vw, 28px);
    margin-bottom: 16px;
}

.contacts-intro {
    color: #cbdcf3;
    font-size: 18px;
    margin-bottom: 40px;
}

.contact-channels {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.contact-channel {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border: 1px solid #78b5ff45;
    border-radius: 24px;
    background: #06172bb8;
    box-shadow: inset 0 1px 0 #ffffff0d;
    backdrop-filter: blur(12px);
    transition: border-color .2s, background .2s;
}

.contact-channel:hover {
    border-color: #69adff;
    background: #0c2b51;
}

.contact-channel strong, .contact-detail strong {
    display: block;
    font-size: 16px;
    font-weight: 650;
}

.contact-channel small, .contact-detail small {
    display: block;
    margin-top: 3px;
    color: #b9cce9;
    font-size: 13px;
}

.contact-icon, .contact-detail-icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 13px;
}

.contact-icon svg {
    width: 29px;
    height: 29px;
}

.contact-icon--phone {
    background: linear-gradient(135deg, #3291ff, #0062fa);
    box-shadow: 0 4px 18px #006bff66;
}

.contact-icon--telegram {
    background: linear-gradient(135deg, #27c2ff, #0089ed);
    box-shadow: 0 4px 18px #00a6ff40;
}

.contact-icon--telegram svg {
    fill: currentColor;
    stroke-width: .5;
}

.contact-icon--viber {
    background: linear-gradient(135deg, #ae77ff, #6535f5);
    box-shadow: 0 4px 18px #8650ff55;
}

.contact-icon--instagram {
    background: radial-gradient(circle at 25% 100%, #ffdc80, #fc5845 35%, #d93292 65%, #6246c5);
    box-shadow: 0 4px 18px #e9438140;
}

.contacts-content {
    padding-block: 32px 60px;
}

.contacts-grid {
    display: grid;
    grid-template-columns: minmax(290px, 1fr) minmax(0, 2.05fr);
    gap: 24px;
}

.contacts-card {
    border: 1px solid #dfebfc;
    border-radius: 12px;
    background: linear-gradient(130deg, #fff, #f7faff);
    padding: 28px 32px;
    box-shadow: 0 12px 40px #3876c005;
}

.contacts-card > p, .contacts-form-content > p {
    color: #48628b;
    font-size: 16px;
    margin-bottom: 28px;
}

.contact-details-list {
    display: grid;
    gap: 24px;
}

.contact-detail {
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 0;
}

.contact-detail > span:nth-child(2) {
    min-width: 0;
    overflow-wrap: anywhere;
}

.contact-detail-icon {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    color: #006bff;
    background: #eef5ff;
}

.contact-detail-icon svg {
    width: 28px;
    height: 28px;
}

.contact-detail small {
    color: #48628b;
    font-size: 15px;
}

.contact-detail:last-child {
    border-top: 1px solid #e7eef9;
    padding-top: 20px;
}

.contact-chevron {
    margin-left: auto;
    color: #006bff;
    font-size: 28px;
}

.contacts-form-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #f7faff;
}

.contacts-form-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, #f7faff 8%, #f7fafff5 48%, #f7faff00 85%), url('/assets/images/team/team-administrator.png') 35% center / cover;
}

.contacts-form-content {
    width: 72%;
}

.contacts-form-content > p {
    white-space: normal;
}

:is(#contact-form, .contact-form) {
    display: grid;
    gap: 14px;
    scroll-margin-top: 110px;
}

:is(#contact-form, .contact-form) label {
    display: block;
    color: #48628b;
    font-size: 15px;
}

.contacts-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.contact-required {
    color: #b92840;
}

:is(#contact-form, .contact-form) input:not([type="checkbox"]), :is(#contact-form, .contact-form) textarea {
    display: block;
    width: 100%;
    min-width: 0;
    margin-top: 5px;
    padding: 12px 16px;
    border: 1px solid #cfdef7;
    border-radius: 8px;
    outline: none;
    background: #f8fbffed;
    color: #0b1739;
    font: inherit;
}

:is(#contact-form, .contact-form) textarea {
    min-height: 105px;
    resize: vertical;
}

:is(#contact-form, .contact-form) input::placeholder, :is(#contact-form, .contact-form) textarea::placeholder {
    color: #889fc7;
    opacity: 1;
}

:is(#contact-form, .contact-form) input:focus-visible, :is(#contact-form, .contact-form) textarea:focus-visible {
    outline: 2px solid #006bff;
    outline-offset: 2px;
}

.contact-phone-input {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 5px;
    padding-left: 12px;
    border: 1px solid #cfdef7;
    border-radius: 8px;
    background: #f8fbffed;
    color: #0b1739;
}

:is(#contact-form, .contact-form) .contact-phone-input input {
    border: 0;
    border-left: 1px solid #dfebfc;
    border-radius: 0 8px 8px 0;
    margin-top: 0;
    padding-left: 10px;
    background: transparent;
}

:is(#contact-form, .contact-form) .contact-callback, :is(#contact-form, .contact-form) .contact-consent {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.contact-callback {
    position: relative;
}

.contact-callback input {
    position: absolute;
    opacity: 0;
    width: 52px;
    height: 30px;
}

.contact-switch {
    width: 52px;
    height: 30px;
    flex-shrink: 0;
    border-radius: 30px;
    background: #bfceea;
    padding: 3px;
}

.contact-switch::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: white;
    box-shadow: 0 1px 4px #16335a20;
    transition: transform .2s;
}

.contact-callback input:checked + .contact-switch {
    background: #006bff;
}

.contact-callback input:checked + .contact-switch::before {
    transform: translateX(22px);
}

.contact-callback input:focus-visible + .contact-switch {
    outline: 2px solid #006bff;
    outline-offset: 3px;
}

.contact-callback strong {
    display: block;
    color: #0b1739;
    font-size: 15px;
    font-weight: 600;
}

.contact-callback small {
    display: block;
    margin-top: 3px;
    font-size: 14px;
}

:is(#contact-form, .contact-form) [hidden] {
    display: none;
}

.contact-consent input {
    accent-color: #006bff;
    margin: 3px 0 0;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.contact-privacy-link {
    border: 0;
    padding: 0;
    color: #006bff;
    background: none;
    font: inherit;
    text-align: left;
}

.contact-privacy-link:hover {
    text-decoration: underline;
}

.contacts-page .btn {
    border-radius: 10px;
    background: linear-gradient(120deg, #137cff, #0064fa);
    color: white;
    border: 1px solid #2d8aff;
    font-weight: 600;
}

.contact-submit {
    width: 100%;
    justify-content: center;
    gap: 18px;
    min-height: 54px;
}

:is(#contact-form, .contact-form) .contact-form-note, :is(#contact-form-status, .contact-form-status) {
    margin: 0;
    color: #48628b;
    font-size: 12px;
}

.contact-response {
    position: absolute;
    right: 20px;
    bottom: 58px;
    border-radius: 18px;
    padding: 14px 20px 14px 52px;
    background: #f7faffed;
    color: #48628b;
    box-shadow: 0 8px 30px #071a4220;
    font-size: 14px;
}

.contact-response > span {
    position: absolute;
    left: 18px;
    top: 24px;
    width: 22px;
    height: 22px;
    background: #53d58c;
    border: 7px solid #53d58c;
    border-radius: 50%;
    box-shadow: inset 0 0 0 5px white;
}

.contacts-messengers {
    margin-top: 24px;
    padding: 32px;
    border-radius: 12px;
    color: white;
    background: linear-gradient(90deg, #031329f5, #031329b0 65%, #03132920), url('/assets/images/home/wash-desktop.webp') right 60% / cover;
}

.contacts-messengers h2, .contacts-questions h2 {
    color: white;
    font-size: clamp(27px, 3vw, 40px);
}

.contacts-messengers > p, .contacts-questions p {
    color: #cbdcf3;
    font-size: 18px;
    margin: 12px 0 36px;
}

.contacts-messengers .contact-channel {
    min-width: 240px;
    padding: 20px;
    border-radius: 18px;
}

.contacts-messengers .contact-icon {
    width: 58px;
    height: 58px;
}

.contacts-questions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
    padding: 48px 40px;
    min-height: 440px;
    border-radius: 12px;
    color: white;
    background: linear-gradient(90deg, #03132900, #03132940 30%, #031329fa 55%), url('/assets/images/home/wash-desktop.webp') left center / cover;
}

.contacts-questions-content {
    width: 46%;
}

.contacts-questions p {
    margin-bottom: 24px;
}

.contact-call-button {
    min-width: 290px;
    justify-content: center;
    gap: 20px;
    box-shadow: 0 8px 24px #006bff40;
}

.contact-benefits {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-top: 52px;
    font-size: 13px;
    color: #cbdcf3;
}

.contact-benefits svg {
    display: block;
    width: 42px;
    height: 42px;
    padding: 8px;
    margin-bottom: 8px;
    border: 1px solid #077aff80;
    border-radius: 50%;
    color: #149dff;
}

.contact-privacy {
    width: min(560px, calc(100% - 32px));
    max-height: 85vh;
    padding: 32px;
    border: 1px solid #cfdef7;
    border-radius: 16px;
    color: #0b1739;
}

.contact-privacy::backdrop {
    background: #021329a8;
}

.contact-privacy h2 {
    font-size: 28px;
    margin-bottom: 20px;
}

.contact-privacy a {
    color: #006bff;
}

@media (max-width: 1150px) {
    .contacts-page .container { width: calc(100% - 48px); }
    .contacts-hero-content { padding-top: 130px; }
    .contacts-card { padding: 24px; }
    .contacts-grid { grid-template-columns: minmax(270px, 1fr) minmax(0, 2fr); gap: 20px; }
    .contacts-form-content { width: 78%; }
    .contacts-fields { gap: 12px; }
    .contact-detail { gap: 14px; }
    .contact-detail-icon { width: 48px; height: 48px; }
    .contact-detail strong { font-size: 14px; }
    .contact-detail small { font-size: 13px; }
    .contact-response { position: relative; right: auto; bottom: auto; width: fit-content; margin: 20px 0 0 auto; padding-right: 12px; font-size: 12px; }
}

@media (max-width: 850px) {
    .contacts-grid { grid-template-columns: 1fr; }
    .contacts-hero-content { padding-top: 90px; }
    .contacts-form-content { width: 75%; }
    .contacts-form-card { min-height: 600px; }
    .contact-response { bottom: auto; }
    .contacts-messengers .contact-channel { min-width: 0; flex: 1 1 190px; }
    .contacts-questions { padding: 36px 28px; }
    .contacts-questions-content { width: 55%; }
    .contact-benefits { flex-wrap: wrap; margin-top: 32px; }
}

@media (max-width: 540px) {
    .contacts-page .container { width: calc(100% - 32px); }
    .contacts-hero-content { padding-block: 64px 28px; }
    .contacts-hero { background-position: 58% center; }
    .contacts-intro { font-size: 16px; margin-bottom: 28px; }
    .contacts-desktop-break { display: none; }
    .contacts-hero .contact-channels { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .contact-channel { gap: 10px; padding: 12px 10px; border-radius: 16px; }
    .contact-icon { width: 38px; height: 38px; border-radius: 10px; }
    .contact-icon svg { width: 25px; height: 25px; }
    .contact-channel strong { font-size: 12px; }
    .contact-channel small { font-size: 11px; }
    .contacts-content { padding-block: 20px 32px; }
    .contacts-card { padding: 24px 20px; }
    .contacts-card > p, .contacts-form-content > p { font-size: 14px; }
    .contacts-form-content { width: 100%; }
    .contacts-form-card::before { opacity: .1; }
    .contacts-fields { grid-template-columns: 1fr; gap: 14px; }
    .contacts-form-card { min-height: 0; padding-bottom: 24px; }
    .contact-response { position: relative; right: auto; bottom: auto; margin-top: 20px; width: fit-content; }
    .contacts-messengers { padding: 26px 20px; margin-top: 20px; }
    .contacts-messengers > p, .contacts-questions p { font-size: 16px; margin-bottom: 24px; }
    .contacts-messengers .contact-channel { flex-basis: 100%; padding: 14px; }
    .contacts-messengers .contact-channel strong { font-size: 16px; }
    .contacts-messengers .contact-channel small { font-size: 13px; }
    .contacts-messengers .contact-icon { width: 48px; height: 48px; }
    .contacts-questions { padding: 180px 24px 28px; margin-top: 20px; background: linear-gradient(0deg, #031329 45%, #03132900), url('/assets/images/home/wash-desktop.webp') 25% top / auto 300px no-repeat; }
    .contacts-questions-content { width: 100%; }
    .contact-call-button { min-width: 0; width: 100%; }
    .contact-benefits { gap: 14px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
    .contact-channel, .contact-switch::before { transition: none; }
}

.explore {
    background: #070d15;
    color: #fff;
    isolation: isolate;
    overflow: hidden;
    position: relative;
    padding: 32px 0 0
}

.explore-heading {
    max-width: 1680px;
    margin: auto;
    padding: 0 40px 25px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px
}

.explore-kicker {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    color: #6ec7ff;
    margin: 0 0 12px
}

.explore h2 {
    font-size: clamp(25px, 2.4vw, 42px);
    letter-spacing: -.035em;
    line-height: 1.12;
    margin: 0;
    color: white
}

.explore h2 span {
    color: #94a8ba
}

.explore-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-color: #277abe #101b28;
    scrollbar-width: thin
}

.explore-picture {
    position: relative;
    width: 100%;
    min-width: 1050px;
    aspect-ratio: 2048/682
}

.explore-picture > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: none
}

.explore-hotspots {
    position: absolute;
    inset: 0
}

.explore-hotspot {
    position: absolute;
    left: var(--left);
    top: var(--top);
    width: var(--width);
    height: var(--height);
    min-height: 44px;
    min-width: 44px;
    border-radius: 16px;
    outline-offset: 4px;
    color: white;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent
}

.explore-ring {
    position: absolute;
    left: var(--dot-x);
    top: var(--dot-y);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 16px #008bff;
    border: 2px solid #a9e3ff;
    pointer-events: none
}

.explore-ring:before, .explore-ring:after {
    content: '';
    position: absolute;
    inset: -5px;
    border: 1px solid #38afff;
    border-radius: 50%;
    animation: explore-pulse 3.6s ease-out infinite
}

.explore-ring:after {
    animation-delay: 1.8s
}

.explore-hotspot:nth-child(2n) .explore-ring:before {
    animation-delay: .8s
}

.explore-hotspot:focus-visible {
    outline: 2px solid #acdcff;
    background: #2489e726
}

.explore-hotspot:hover .explore-ring, .explore-hotspot:focus-visible .explore-ring {
    box-shadow: 0 0 25px #4cc4ff, 0 0 55px #158eff;
    transform: translate(-50%, -50%) scale(1.25)
}

.explore-tip {
    position: absolute;
    left: 50%;
    top: calc(100% + 9px);
    transform: translate(-50%, 6px);
    padding: 12px 15px;
    width: 235px;
    background: #071323f5;
    border: 1px solid #2d92d2;
    border-radius: 12px;
    box-shadow: 0 12px 35px #0008;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s, transform .18s;
    font-size: 15px;
    font-weight: 700;
    z-index: 5
}

.explore-tip small {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 400;
    color: #bed1e2;
    margin-top: 4px
}

.explore-hotspot:nth-last-child(-n+2) .explore-tip {
    top: auto;
    bottom: calc(100% + 9px)
}

.explore-hotspot:nth-child(n+8) .explore-tip {
    left: auto;
    right: 0;
    transform: translateY(6px)
}

.explore-hotspot:hover, .explore-hotspot:focus-visible {
    z-index: 10
}

.explore-hotspot:hover .explore-tip, .explore-hotspot:focus-visible .explore-tip {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0)
}

.explore-hotspot:nth-child(n+8):hover .explore-tip, .explore-hotspot:nth-child(n+8):focus-visible .explore-tip {
    transform: translateY(0)
}

.explore-footer {
    padding: 20px 32px 24px;
    max-width: 1700px;
    margin: auto
}

.explore-shortcuts {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center
}

.explore-shortcuts a {
    border: 1px solid #294052;
    border-radius: 100px;
    padding: 8px 13px;
    color: #c6d6e4;
    font-size: 14px;
    text-decoration: none;
    transition: background .2s, border-color .2s
}

.explore-shortcuts a:hover, .explore-shortcuts a:focus-visible {
    background: #10314c;
    border-color: #5dbaf7;
    color: white
}

.explore-mobile-hint {
    display: none;
    font-size: 14px;
    color: #96afc5;
    margin-bottom: 14px
}

.explore-status {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%)
}

.explore.is-paused .explore-ring:before, .explore.is-paused .explore-ring:after {
    animation-play-state: paused
}

.explore-flight {
    position: fixed;
    inset: 0;
    z-index: 10000;
    overflow: hidden;
    background: #070d15;
    pointer-events: auto;
    opacity: 0;
    transition: opacity .12s
}

.explore-flight.is-active {
    opacity: 1
}

.explore-flight img {
    position: absolute;
    max-width: none;
    transform-origin: 0 0;
    will-change: transform;
    transition: transform .82s cubic-bezier(.2, .75, .25, 1), filter .82s ease
}

.explore-flight-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8vh;
    text-align: center;
    color: white;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .4s .18s, transform .4s .18s;
    font-size: clamp(24px, 3vw, 48px);
    font-weight: 700;
    text-shadow: 0 2px 20px #000;
    background: linear-gradient(transparent, #071323aa);
    padding: 30px
}

.explore-flight.is-active .explore-flight-caption {
    opacity: 1;
    transform: none
}

.explore-arrival main {
    animation: explore-arrive .55s ease-out both
}

@keyframes explore-pulse {
    0% {
        transform: scale(.85);
        opacity: .8
    }
    80%, 100% {
        transform: scale(2.2);
        opacity: 0
    }
}

@keyframes explore-arrive {
    from {
        opacity: .25;
        transform: translateY(9px)
    }
    to {
        opacity: 1;
        transform: none
    }
}

@media (min-width: 1800px) {
    .explore-picture {
        max-width: 2048px;
        margin: auto
    }
}

@media (max-width: 850px) {
    .explore {
        padding-top: 23px
    }

    .explore-heading {
        padding: 0 20px 20px;
        display: block
    }

    .explore h2 span {
        display: block;
        margin-top: 5px
    }

    .explore-mobile-hint {
        display: block
    }

    .explore-footer {
        padding: 17px 20px 23px
    }

    .explore-shortcuts {
        justify-content: flex-start
    }

    .explore-shortcuts a {
        font-size: 14px;
        padding: 10px 13px
    }

    .explore-tip {
        display: none
    }
}

@media (prefers-reduced-motion: reduce) {
    .explore-ring:before, .explore-ring:after {
        animation: none
    }

    .explore-flight, .explore-flight img, .explore-flight-caption, .explore-arrival main {
        animation: none;
        transition: none
    }
}

/* Immersive panorama and continuous feature-page backgrounds. */
.explore {
    --scene-height: clamp(510px, 74svh, 940px);
    padding-top: 0
}

.explore-heading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    max-width: none;
    padding: 28px 38px 65px;
    background: linear-gradient(#030a13ed, #030a1370, transparent);
    pointer-events: none
}

.explore-heading h2 {
    font-size: clamp(24px, 2.8vw, 45px);
    text-shadow: 0 2px 20px #000
}

.explore-heading h2 span {
    color: #c1d5e8
}

.explore-picture {
    height: var(--scene-height);
    width: max(100%, calc(var(--scene-height) * 3.00293));
    min-width: 0;
    max-width: none;
    margin: 0;
    aspect-ratio: auto
}

.explore-scroll {
    cursor: grab;
    overscroll-behavior-x: contain;
    scroll-behavior: auto
}

.explore-scroll.is-dragging {
    cursor: grabbing
}

.explore-picture > img {
    user-select: none;
    -webkit-user-drag: none
}

.explore-hotspots:before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse at 55% 70%, #4ab5ff0d, transparent 50%);
    animation: scene-breathe 7s ease-in-out infinite
}

.explore-ring {
    transition: transform .35s, box-shadow .35s
}

.explore-hotspot:hover .explore-ring {
    transform: translate(-50%, -50%) scale(1.45);
    box-shadow: 0 0 35px #71dbff, 0 0 80px #1da1ff
}

.explore-footer {
    position: relative;
    background: #070e18;
    padding-top: 17px;
    padding-bottom: 20px
}

.explore.is-paused .explore-hotspots:before {
    animation-play-state: paused
}

.explore-flight {
    background: #070d15;
    transition: opacity .3s
}

.explore-flight img {
    transition: transform 1.1s cubic-bezier(.22, .7, .16, 1), filter 1.1s;
    filter: none
}

.explore-flight-caption {
    bottom: 10vh;
    letter-spacing: -.04em
}

.explore-flight.is-settling img {
    transition: transform .7s cubic-bezier(.2, .65, .2, 1)
}

.explore-flight.is-settling .explore-flight-caption {
    opacity: 0;
    transition: opacity .25s
}

.explore-flight.is-fading {
    opacity: 0;
    transition: opacity .6s
}

.zone-hero {
    position: relative;
    isolation: isolate;
    min-height: calc(100svh - 78px);
    display: flex;
    align-items: flex-end;
    padding: 0 !important;
    background: #07101c;
    overflow: hidden
}

.zone-backdrop, .zone-shade {
    position: absolute;
    inset: 0;
    z-index: -2;
    overflow: hidden
}

.zone-backdrop img {
    position: absolute;
    max-width: none;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.zone-shade {
    z-index: -1;
    background: linear-gradient(90deg, #020911e8 0%, #05101ab8 42%, #06122210 80%), linear-gradient(0deg, #070f1bec, transparent 65%)
}

.zone-hero > .container {
    position: relative;
    z-index: 2;
    padding-bottom: 0
}

.zone-active-marker {
    position: absolute;
    z-index: 1;
    width: 52px;
    height: 52px;
    transform: translate(-50%, -50%);
    pointer-events: none;
    filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .5))
}

.zone-active-dot {
    position: relative;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: grid;
    place-items: center;
    border: 3px solid #d9ffe8;
    border-radius: 50%;
    color: #fff;
    background: #0bbf63;
    box-shadow: 0 0 0 8px rgba(11, 191, 99, .2), 0 0 34px #20ed80;
    font-size: 14px;
    font-weight: 800;
    line-height: 1
}

.zone-active-dot:before {
    content: '';
    position: absolute;
    inset: -12px;
    border: 2px solid rgba(113, 255, 178, .8);
    border-radius: 50%;
    animation: zone-active-pulse 2.2s ease-out infinite
}

.zone-active-dot > .explore-feature-icon {
    width:26px;
    height:26px;
    flex-basis:26px;
}

.zone-active-label {
    position: absolute;
    top: 50%;
    left: 64px;
    width: max-content;
    max-width: 230px;
    padding: 10px 12px;
    border: 1px solid rgba(155, 255, 199, .65);
    border-radius: 6px;
    color: #effff6;
    background: rgba(3, 24, 18, .86);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .32);
    backdrop-filter: blur(12px);
    font-size: 14px;
    font-weight: 720;
    line-height: 1.35;
    transform: translateY(-50%)
}

.zone-active-marker.is-label-left .zone-active-label {
    right: 64px;
    left: auto;
    text-align: right
}

@keyframes zone-active-pulse {
    0% { transform: scale(.82); opacity: 1 }
    75%, 100% { transform: scale(1.55); opacity: 0 }
}

.zone-hero .breadcrumbs {
    position: absolute;
    top: 26px;
    right: 0;
    left: 0;
    width: var(--container-width);
    margin-inline: auto;
    text-shadow: 0 1px 12px #000
}

.zone-back {
    display: inline-flex;
    color: #bdddf5 !important;
    border: 1px solid #98c4e65c;
    border-radius: 100px;
    padding: 10px 16px;
    font-size: 14px;
    backdrop-filter: blur(12px);
    background: #06142170;
    margin-bottom: 26px;
    text-decoration: none
}

.zone-hero .feature-hero-grid {
    display: block;
    max-width: 760px;
    padding-bottom: 35px
}

.zone-hero h1 {
    font-size: clamp(38px, 4.5vw, 70px);
    line-height: 1.06;
    letter-spacing: -.04em;
    text-shadow: 0 4px 35px #0008
}

.zone-hero .feature-hero-grid > div > p:not(.eyebrow) {
    color: #dae7f2;
    max-width: 640px;
    text-shadow: 0 2px 14px #000;
    line-height: 1.65
}

.zone-hero .feature-outcomes {
    background: #06101bd9;
    backdrop-filter: blur(18px);
    border-top: 1px solid #a4d9ff30
}

.zone-product {
    padding-top: 48px;
    padding-bottom: 15px
}

.zone-product .feature-hero-visual {
    max-width: 1000px;
    margin: auto
}

.zone-product .feature-hero-visual img {
    max-height: 550px
}

.zone-entering .zone-hero > .container {
    opacity: 0;
    transform: translateY(25px)
}

.zone-hero > .container {
    transition: opacity .75s ease, transform .9s cubic-bezier(.2, .8, .2, 1)
}

.zone-hero .feature-outcomes {
    transition: opacity .8s
}

.zone-entering .feature-outcomes {
    opacity: 0
}

.explore-arrival main {
    animation: none
}

@keyframes scene-breathe {
    50% {
        opacity: .25
    }
}

@media (max-width: 850px) {
    .explore {
        --scene-height: clamp(500px, 73svh, 800px)
    }

    .explore-heading {
        padding: 22px 20px 55px
    }

    .explore-heading h2 {
        font-size: 27px;
        max-width: 380px
    }

    .zone-hero {
        min-height: calc(100svh - 65px)
    }

    .zone-hero > .container {
        padding-top: 110px
    }

    html[lang="uk"] .zone-hero > .container {
        padding-top: 170px
    }

    .zone-hero h1 {
        font-size: clamp(35px, 7vw, 52px)
    }

    .zone-shade {
        background: linear-gradient(0deg, #040b15f5, #06101ac9 50%, #06101a33)
    }

    .zone-product {
        padding-top: 25px
    }

    .zone-back {
        margin-bottom: 20px
    }

    .zone-hero .feature-hero-grid {
        padding-bottom: 25px
    }

    .zone-active-marker {
        width: 44px;
        height: 44px
    }

    .zone-active-dot {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        font-size: 12px
    }

    .zone-active-label {
        left: 54px;
        max-width: var(--zone-label-max, 180px);
        padding: 8px 9px;
        font-size: 12px
    }

    html[lang="uk"] .zone-active-label {
        max-width: var(--zone-label-max, 180px)
    }

    .zone-active-marker.is-label-left .zone-active-label {
        right: 54px;
        left: auto
    }
}

@media (prefers-reduced-motion: reduce) {
    .explore-hotspots:before {
        animation: none
    }

    .zone-hero > .container, .explore-flight img, .zone-hero .feature-outcomes {
        transition: none
    }

    .zone-active-dot:before {
        animation: none
    }

    .zone-entering .zone-hero > .container {
        opacity: 1;
        transform: none
    }
}

/* One image plane keeps the artwork and hotspots aligned while the viewport changes. */
.explore {
    padding: 0
}

.explore-stage {
    position: relative;
    width: 100%;
    max-width: 1920px;
    height: min(calc(100svh - var(--site-header-height, 78px) - 88px), 1080px);
    min-height: 420px;
    margin: auto;
    overflow: hidden
}

.explore-scroll {
    position: absolute;
    inset: 0;
    overflow: hidden;
    cursor: default
}

.explore-picture {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    min-width: 0;
    max-width: none;
    height: auto;
    aspect-ratio: 1672/941;
    margin: 0
}

.explore-picture > img {
    width: 100%;
    height: auto;
    aspect-ratio: 1672/941;
    object-fit: contain
}

.explore-heading {
    left: 0;
    right: 0;
    transform: none;
    width: 100%;
    max-width: none;
    padding: 28px 32px 45px;
    align-items: flex-start
}

.explore-heading > div:first-child {
    max-width: 580px;
    min-width: 0
}

.explore .explore-heading h1 {
    font-size: 48px;
    line-height: 1.13;
    letter-spacing: 0;
    margin: 0;
    color: white;
    text-shadow: 0 2px 15px #000
}

.explore-kicker {
    font-size: 12px;
    letter-spacing: 0;
    margin-bottom: 9px
}

.explore-hotspot {
    --target-size: 44px;
    left: clamp(calc(var(--target-size) / 2), var(--x), calc(100% - var(--target-size) / 2));
    top: var(--y);
    width: var(--target-size);
    height: var(--target-size);
    min-width: 0;
    min-height: 0;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    touch-action: manipulation
}

.explore-ring {
    left: 50%;
    top: 50%;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    color: white;
    background: #073667e6;
    box-shadow: 0 0 16px #219fff
}

.explore-tip {
    top: calc(100% + 8px);
    left: 50%;
    width: max-content;
    max-width: 230px;
    right: auto;
    font-size: 14px;
    text-align: center;
    white-space: normal;
    padding: 10px 14px
}

.explore-hotspot:first-child .explore-tip {
    left: 0;
    transform: translateY(6px)
}

.explore-hotspot:first-child:hover .explore-tip, .explore-hotspot:first-child:focus-visible .explore-tip {
    transform: translateY(0)
}

.explore-hotspot:nth-child(n+8) .explore-tip {
    left: auto;
    right: 0;
    transform: translateY(6px)
}

.explore-hotspot:nth-last-child(-n+2) .explore-tip {
    top: calc(100% + 8px);
    bottom: auto
}

.explore-footer {
    max-width: none;
    padding: 16px 24px 22px
}

.explore-shortcuts a .explore-number {
    font-size: 12px;
    color: #5dbbff;
    margin-right: 4px
}

@media (max-width: 1599px) {
    .explore-heading {
        padding: 16px 24px 35px
    }

    .explore-heading > div:first-child {
        max-width: 340px
    }

    .explore-kicker {
        display: none
    }

    .explore .explore-heading h1 {
        font-size: 32px
    }

    .explore .seo-tagline {
        font-size: 14px !important
    }
}

@media (max-width: 1199px),(max-aspect-ratio: 4/3),(max-height: 700px) {
    .explore-stage {
        height: auto;
        min-height: 0
    }

    .explore-scroll {
        position: relative;
        inset: auto;
        overflow: visible
    }

    .explore-picture {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        width: 100%;
        max-width: 100%
    }

    .explore-heading {
        position: relative;
        display: block;
        width: 100%;
        padding: 22px 24px;
        background: #070d15
    }

    .explore-heading > div:first-child {
        max-width: none
    }

    .explore-kicker {
        display: block
    }

    .explore .explore-heading h1 {
        font-size: 32px
    }
}

@media (max-width: 600px) {
    .explore-heading {
        padding: 20px 18px 16px
    }

    .explore .explore-heading h1 {
        font-size: 28px;
        overflow-wrap: break-word
    }

    .explore-hotspot {
        --target-size: 28px
    }

    .explore-ring {
        width: 24px;
        height: 24px;
        font-size: 10px
    }

    .explore-tip {
        display: none
    }

    .explore-shortcuts {
        display: grid;
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .explore-shortcuts a {
        border-radius: 8px;
        font-size: 13px;
        padding: 12px 9px;
        overflow-wrap: break-word
    }

    .explore-hotspots:before {
        display: none
    }
}

/* Home panorama begins beneath the transparent header and dissolves into the page. */
.home-page .header {
    position: fixed;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom-color: #e4e9f2;
    backdrop-filter: none
}

.home-page .header.is-over-hero {
    color: #fff;
    background: transparent;
    border-bottom-color: transparent;
    text-shadow: 0 2px 14px #020914b8
}

.home-page .header.is-over-hero .brand-period,
.home-page .header.is-over-hero .language,
.home-page .header.is-over-hero .desktop-nav > a:hover,
.home-page .header.is-over-hero .nav-dropdown[open] summary {
    color: #fff
}

.home-page .header.is-over-hero .language {
    border-color: #ffffff80;
    background: #07101c3d
}

.home-page .header.is-over-hero .btn-small {
    box-shadow: 0 8px 28px #155be066
}

.home-page .header.is-over-hero .menu-toggle > span {
    background: #fff
}

.home-page .header.is-over-hero .mega,
.home-page .header.is-over-hero .mobile-menu {
    color: #111c2d;
    text-shadow: none
}

.home-page .header.is-over-hero:has(.mobile-menu:not([hidden])) {
    color: #111c2d;
    background: #fff;
    text-shadow: none
}

.home-page .header.is-over-hero:has(.mobile-menu:not([hidden])) .brand-period {
    color: var(--blue)
}

.home-page .header.is-over-hero:has(.mobile-menu:not([hidden])) .menu-toggle > span {
    background: #111c2d
}

.home-page .explore {
    background: #fff;
    color: #111c2d
}

.home-page .explore-stage:after {
    display: none
}

.home-page .explore-heading {
    padding-top: calc(var(--site-header-height, 82px) + 28px);
    background: transparent
}

.home-page .explore-picture img {
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 79%, #000000e6 84%, #0000008c 91%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 79%, #000000e6 84%, #0000008c 91%, transparent 100%)
}

.home-page .explore .explore-heading h1 {
    color: #111c2d;
    text-shadow: 0 1px 16px #fff
}

.home-page .explore-kicker {
    color: #185fd1
}

.home-page .explore .seo-tagline {
    color: #35445b;
    text-shadow: 0 1px 12px #fff
}

.home-page .explore-footer {
    background: transparent
}

.home-page .explore-shortcuts a {
    color: #25344a;
    border-color: #b8c5d7;
    background: #ffffffe0;
    box-shadow: 0 5px 18px #19345812;
    backdrop-filter: blur(10px)
}

.home-page .explore-shortcuts a:hover,
.home-page .explore-shortcuts a:focus-visible {
    color: #0b3f8c;
    border-color: #4d8ee9;
    background: #fff
}

@media (min-width: 1200px) and (min-height: 701px) and (min-aspect-ratio: 4/3) {
    .home-page .explore-stage {
        height: min(100svh, 1080px)
    }

    .home-page .explore-footer {
        position: absolute;
        z-index: 20;
        left: 0;
        right: 0;
        bottom: 0
    }
}

@media (max-width: 1199px), (max-aspect-ratio: 4/3), (max-height: 700px) {
    .home-page .explore-heading {
        padding-top: calc(var(--site-header-height, 82px) + 22px);
        background: #fff
    }

    .home-page .explore-picture img {
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 84%, #000000b3 91%, transparent 100%);
        mask-image: linear-gradient(to bottom, #000 0%, #000 84%, #000000b3 91%, transparent 100%)
    }
}

/* Responsive home artwork: hotspots share the rendered image plane. */
.home-page .explore-stage {
    height: 100svh;
    min-height: 620px;
    max-width: none
}

.home-page .explore-scroll {
    position: absolute;
    inset: 0;
    overflow: hidden
}

.home-page .explore-picture {
    position: absolute;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    width: max(100%, 177.6834svh);
    height: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    aspect-ratio: 1672 / 941;
    transform: translate3d(-50%, -50%, 0);
    transform-origin: center center
}

.home-page .explore-picture picture,
.home-page .explore-picture img {
    display: block;
    width: 100%;
    height: 100%
}

.home-page .explore-picture img {
    object-fit: cover;
    object-position: center center
}

.home-page .explore-heading {
    position: absolute;
    z-index: 20;
    top: clamp(400px, 61svh, 660px);
    left: 0;
    right: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    padding: 0 32px;
    background: transparent
}

.home-page .explore-heading > div:first-child {
    max-width: 580px
}

.home-page .explore .explore-heading h1,
.home-page .explore .seo-tagline {
    color: #fff;
    text-shadow: 0 2px 18px #020914e6
}

@media (max-width: 1650px), (max-aspect-ratio: 4/3) {
    .home-page .explore-stage {
        height: 100svh;
        min-height: 560px
    }

    .home-page .explore-scroll {
        position: absolute;
        inset: 0;
        overflow: hidden
    }

    .home-page .explore-picture {
        position: absolute;
        left: 50%;
        top: 50%;
        right: auto;
        bottom: auto;
        width: max(100%, 75svh);
        height: auto;
        max-width: none;
        margin: 0;
        aspect-ratio: 1086 / 1448;
        transform: translate3d(-50%, -50%, 0);
        transform-origin: center center
    }

    .home-page .explore-heading {
        position: absolute;
        z-index: 20;
        padding: calc(var(--site-header-height, 82px) + 18px) 18px 70px;
        background: transparent
    }

    .home-page .explore-heading > div:first-child {
        width: fit-content;
        padding: 10px 14px;
        margin: -10px -14px;
        border-radius: 10px;
        background: linear-gradient(90deg, #02091499, #02091433)
    }

}

@media (max-width: 800px) {
    .home-page .explore-stage {
        height:auto;
        min-height:0;
        aspect-ratio:941 / 1672;
    }

    .home-page .explore-picture {
        top: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 941 / 1672;
        transform: translate3d(-50%, 0, 0)
    }

    .home-page .explore-picture img {
        object-fit: contain;
        object-position: center top
    }

    .home-page .explore-heading {
        top:auto;
        bottom:0;
        padding:24px 18px
    }

}

/* Home panorama shortcuts: two floating rows over a soft white image fade. */
@media (min-width: 1651px) and (min-height: 701px) and (min-aspect-ratio: 4/3) {
    html[lang="uk"] .home-page .explore-heading > div:first-child {
        position: relative;
        width: 540px;
        max-width: 540px;
        padding: 0 24px 14px 36px;
        background: linear-gradient(90deg, rgba(2, 9, 20, .78) 0%, rgba(2, 9, 20, .48) 74%, transparent 100%);
    }

    html[lang="uk"] .home-page .explore-heading > div:first-child::before {
        content: '';
        position: absolute;
        top: 6px;
        bottom: 13px;
        left: 3px;
        width: 7px;
        border-radius: 7px;
        background: #59bfff;
        box-shadow: 0 0 15px rgba(54, 168, 255, .95), 0 0 34px rgba(29, 123, 255, .7);
    }

    html[lang="uk"] .home-page .explore .explore-heading h1 {
        max-width: 460px;
        font-size: 64px;
        line-height: 1.04;
        text-shadow: 0 4px 22px rgba(0, 0, 0, .8);
    }

    html[lang="uk"] .home-page .explore .seo-tagline {
        margin-top: 12px;
        font-size: 26px;
        line-height: 1.25;
        text-shadow: 0 3px 17px rgba(0, 0, 0, .86);
    }

}

    .home-page .explore-footer {
        display: block;
        position: absolute;
        z-index: 20;
        left: 0;
        right: 0;
        bottom: 7px;
        padding: 34px 24px 20px;
        pointer-events: none
    }

    .home-page .explore-footer:before {
        content:'';
        position:absolute;
        z-index:-1;
        left:-3vw;
        right:-3vw;
        bottom:-19px;
        height:calc(100% + 32px);
        background:linear-gradient(180deg, transparent 0%, rgba(255,255,255,.36) 30%, rgba(255,255,255,.88) 67%, #fff 100%);
        -webkit-backdrop-filter:blur(14px);
        backdrop-filter:blur(14px);
        -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 35%, #000 100%);
        mask-image:linear-gradient(180deg, transparent 0%, #000 35%, #000 100%)
    }

    .home-page .explore-shortcuts {
        display:grid;
        grid-template-columns:repeat(6, minmax(0, 1fr));
        width:min(1560px, 100%);
        margin:0 auto;
        gap:10px;
        justify-content:center;
        pointer-events:auto
    }

    .home-page .explore-shortcuts a {
        min-height:44px;
        display:inline-flex;
        align-items:center;
        gap:10px;
        padding:5px 13px 5px 7px;
        border:1px solid rgba(154, 176, 207, .55);
        border-radius:999px;
        color:#17253b;
        background:rgba(255,255,255,.9);
        box-shadow:0 8px 24px rgba(25,52,88,.13), inset 0 1px 0 #fff;
        -webkit-backdrop-filter:blur(15px);
        backdrop-filter:blur(15px);
        font-size:14px;
        font-weight:520;
        white-space:normal
    }

    .home-page .explore-shortcuts a .explore-icon-badge {
        width:34px;
        height:34px;
        flex:0 0 34px;
        display:grid;
        place-items:center;
        margin:0;
        border-radius:999px;
        color:#1959bd;
        background:#eaf2ff;
        box-shadow:inset 0 0 0 1px #d1e2fc;
        font-size:12px;
        font-weight:750
    }

    .home-page .explore-shortcuts a:after {
        content:'→';
        margin-left:5px;
        color:#1d68e7;
        font-size:17px;
        line-height:1;
        transition:transform .2s ease
    }

    .home-page .explore-shortcuts a:hover,
    .home-page .explore-shortcuts a:focus-visible {
        border-color:#76a7ef;
        background:#fff;
        box-shadow:0 10px 28px rgba(25,76,151,.18), inset 0 1px 0 #fff;
        transform:translateY(-2px)
    }

    .home-page .explore-shortcuts a:hover:after,
    .home-page .explore-shortcuts a:focus-visible:after {
        transform:translateX(3px)
    }

@media (max-width:1650px), (max-aspect-ratio:4/3) {
    .home-page .explore-footer {
        position:relative;
        bottom:auto;
        padding:24px 24px 32px
    }

    .home-page .explore-footer:before {
        top:0;
        bottom:0;
        height:100%
    }

    .home-page .explore-shortcuts {
        grid-template-columns:repeat(4, minmax(0, 1fr));
        max-width:1120px
    }
}

@media (max-width:800px) {
    .home-page .explore-footer {
        position:relative;
        bottom:auto;
        padding:12px 16px 24px
    }

    .home-page .explore-footer:before {
        top:-72px;
        bottom:0;
        height:auto
    }

    .home-page .explore-shortcuts {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:8px
    }

    .home-page .explore-shortcuts a {
        min-height:64px;
        gap:8px;
        padding:10px;
        border-radius:14px;
        font-size:13px;
        text-align:left
    }

    .home-page .explore-shortcuts a .explore-icon-badge {
        width:30px;
        height:30px;
        flex-basis:30px;
        border-radius:9px
    }

    .home-page .explore-shortcuts a .explore-number,
    .home-page .explore-shortcuts a:after {
        display:none
    }
}

/* Shared WashCRM glass header and readable editorial type scale. */
:root {
    --font-body:Inter, "Segoe UI", Arial, sans-serif;
    --font-heading:Inter, "Segoe UI", Arial, sans-serif;
    --glass-navy:rgba(5, 14, 36, .78);
    --glass-blue:rgba(27, 69, 142, .64);
    --glass-line:rgba(142, 190, 255, .28)
}

body,
button,
input,
select,
textarea {
    font-family:var(--font-body)
}

h1,
h2,
h3,
.brand {
    font-family:var(--font-heading);
    letter-spacing:0
}

.header,
.home-page .header,
.home-page .header.is-over-hero {
    position:sticky;
    top:0;
    left:auto;
    right:auto;
    z-index:80;
    isolation:isolate;
    color:#f7fbff;
    background:linear-gradient(112deg, var(--glass-navy) 0%, var(--glass-blue) 48%, rgba(6, 20, 52, .8) 100%);
    border-bottom:1px solid var(--glass-line);
    box-shadow:0 14px 38px rgba(3, 12, 33, .2), inset 0 1px 0 rgba(255, 255, 255, .12);
    -webkit-backdrop-filter:blur(24px) saturate(155%);
    backdrop-filter:blur(24px) saturate(155%);
    text-shadow:none
}

.home-page .header,
.home-page .header.is-over-hero {
    position:fixed;
    left:0;
    right:0
}

.home-page .header.is-over-hero {
    background:linear-gradient(112deg, rgba(4, 13, 34, .5), rgba(22, 64, 135, .36) 48%, rgba(5, 18, 46, .52));
    -webkit-backdrop-filter:blur(22px) saturate(145%);
    backdrop-filter:blur(22px) saturate(145%)
}

.header:before {
    content:'';
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(90deg, rgba(55, 105, 255, .18), transparent 24% 72%, rgba(40, 157, 255, .14));
    pointer-events:none
}

.header:after {
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(81, 160, 255, .7), transparent);
    pointer-events:none
}

.header .nav {
    position:relative;
    z-index:2;
    height:82px;
    gap:24px
}

.header .brand,
.home-page .header.is-over-hero .brand {
    min-height:52px;
    padding:7px 15px 7px 8px;
    border:1px solid rgba(142, 193, 255, .42);
    border-radius:999px;
    color:#fff;
    background:rgba(4, 15, 39, .46);
    box-shadow:inset 0 1px 0 rgba(255, 255, 255, .13), 0 8px 22px rgba(2, 11, 31, .18);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    font-size:24px;
    letter-spacing:0
}

.header .brand-symbol {
    width:37px;
    height:37px;
    margin-right:10px;
    border-radius:9px;
    background:linear-gradient(145deg, #4c86ff, #1765ec);
    box-shadow:0 6px 18px rgba(31, 105, 238, .42)
}

.header .brand-last {
    font-weight:500
}

.header .brand-period,
.home-page .header.is-over-hero .brand-period {
    color:#66b7ff
}

.header .desktop-nav {
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:5px;
    border:1px solid rgba(142, 193, 255, .28);
    border-radius:999px;
    background:rgba(3, 13, 35, .34);
    box-shadow:inset 0 1px 0 rgba(255, 255, 255, .08);
    -webkit-backdrop-filter:blur(15px);
    backdrop-filter:blur(15px)
}

.header-tab {
    min-height:40px;
    padding:10px 17px;
    border:1px solid transparent;
    border-radius:999px;
    color:#e7f0ff;
    background:transparent;
    font-size:15px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:0;
    white-space:nowrap;
    transition:background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease
}

.header-tab:hover,
.header-tab:focus-visible {
    color:#fff;
    border-color:rgba(116, 187, 255, .65);
    background:linear-gradient(145deg, rgba(55, 105, 255, .76), rgba(31, 136, 244, .64));
    box-shadow:0 0 24px rgba(42, 126, 255, .35), inset 0 1px 0 rgba(255, 255, 255, .2)
}

.header .nav-end {
    gap:12px
}

.header .language,
.home-page .header.is-over-hero .language {
    min-width:38px;
    min-height:38px;
    display:grid;
    place-items:center;
    padding:5px 8px;
    border:1px solid rgba(145, 193, 255, .38);
    border-radius:999px;
    color:#e8f2ff;
    background:rgba(3, 14, 38, .42);
    font-size:13px;
    font-weight:700
}

.header .header-demo {
    min-height:48px;
    gap:9px;
    padding:12px 20px;
    border-color:rgba(125, 190, 255, .55);
    border-radius:999px;
    background:linear-gradient(145deg, #3974ff, #126fe8);
    box-shadow:0 0 26px rgba(38, 113, 255, .42), inset 0 1px 0 rgba(255, 255, 255, .22);
    font-size:14px
}

.header .header-demo:hover {
    background:linear-gradient(145deg, #4b82ff, #167df2);
    box-shadow:0 0 32px rgba(38, 125, 255, .55), inset 0 1px 0 rgba(255, 255, 255, .24)
}

.header .menu-toggle {
    border-color:rgba(145, 193, 255, .42);
    background:rgba(3, 14, 38, .42)
}

.header .menu-toggle > span,
.home-page .header.is-over-hero .menu-toggle > span {
    background:#fff
}

.header .mobile-menu,
.home-page .header.is-over-hero .mobile-menu {
    position:absolute;
    top:calc(100% + 8px);
    left:18px;
    right:18px;
    z-index:3;
    max-height:calc(100svh - 100px);
    padding:12px;
    border:1px solid rgba(145, 193, 255, .36);
    border-radius:12px;
    color:#fff;
    background:linear-gradient(145deg, rgba(5, 16, 42, .96), rgba(20, 57, 119, .92));
    box-shadow:0 22px 60px rgba(2, 10, 30, .38), inset 0 1px 0 rgba(255, 255, 255, .1);
    -webkit-backdrop-filter:blur(24px) saturate(150%);
    backdrop-filter:blur(24px) saturate(150%);
    text-shadow:none
}

.header .mobile-menu:not([hidden]) {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px
}

.mobile-header-tab {
    width:100%;
    border-radius:8px;
    text-align:left
}

.mobile-demo {
    min-height:46px;
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    border:1px solid rgba(132, 193, 255, .55);
    border-radius:8px;
    color:#fff;
    background:#246fe9;
    font-size:14px;
    font-weight:700
}

.header:has(.mobile-menu:not([hidden])),
.home-page .header.is-over-hero:has(.mobile-menu:not([hidden])) {
    color:#fff;
    background:linear-gradient(112deg, rgba(5, 14, 36, .9), rgba(27, 69, 142, .86), rgba(6, 20, 52, .92));
    border-bottom-color:var(--glass-line);
    text-shadow:none
}

.prose p,
.prose li {
    font-size:16px;
    line-height:1.75
}

.services-page .detail-story h2,
.services-page .detail-story:nth-of-type(even) h2,
.stock-page .stock-story h2,
.stock-page .stock-story:nth-of-type(even) h2 {
    font-size:28px;
    line-height:1.2;
    letter-spacing:0
}

.services-page .detail-story p,
.services-page .detail-story:nth-of-type(even) p,
.stock-page .stock-story p,
.stock-page .stock-story li,
.stock-page .stock-story:nth-of-type(even) p,
.stock-page .stock-story:nth-of-type(even) li {
    font-size:15px;
    line-height:1.65
}

.services-page .toc > a,
.stock-page .toc > a {
    font-size:13px;
    line-height:1.5
}

.services-page .toc > span,
.stock-page .toc > span {
    font-size:12px;
    letter-spacing:0
}

.services-page .toc .toc-all,
.stock-page .toc .toc-all {
    font-size:13px
}

@media (prefers-reduced-motion:no-preference) {
    .services-page.motion-ready .detail-story.reveal,
    .stock-page.motion-ready .stock-story.reveal {
        opacity:0;
        transform:translateY(24px);
        transition:opacity .65s ease, transform .65s cubic-bezier(.22, .61, .36, 1)
    }

    .services-page.motion-ready .detail-story.reveal.is-visible,
    .stock-page.motion-ready .stock-story.reveal.is-visible {
        opacity:1;
        transform:none
    }
}

@media (max-width:820px) and (prefers-reduced-motion:no-preference) {
    .services-page.motion-ready .detail-story.reveal,
    .stock-page.motion-ready .stock-story.reveal {
        transform:translateY(16px)
    }

    .services-page.motion-ready .detail-story.reveal.is-visible,
    .stock-page.motion-ready .stock-story.reveal.is-visible {
        transform:none
    }
}

@media (max-width:900px) {
    .header .nav-end .header-demo {
        display:none
    }
}

@media (max-width:820px) {
    .header .desktop-nav {
        display:none
    }

    .header .menu-toggle {
        display:grid;
        place-items:center;
        padding:8px
    }
}

@media (max-width:600px) {
    .header .nav {
        height:72px
    }

    .header .brand,
    .home-page .header.is-over-hero .brand {
        min-height:44px;
        padding:5px 11px 5px 6px;
        font-size:20px
    }

    .header .brand-symbol {
        width:32px;
        height:32px;
        margin-right:8px;
        font-size:22px
    }

    .header .brand-period {
        font-size:25px
    }

    .header .nav-end {
        gap:8px
    }

    .header .language,
    .home-page .header.is-over-hero .language {
        min-width:35px;
        min-height:35px;
        font-size:12px
    }

    .header .mobile-menu,
    .home-page .header.is-over-hero .mobile-menu {
        top:calc(100% + 6px);
        left:9px;
        right:9px
    }

    .services-page .detail-story h2,
    .services-page .detail-story:nth-of-type(even) h2,
    .stock-page .stock-story h2,
    .stock-page .stock-story:nth-of-type(even) h2 {
        font-size:24px
    }

    .services-page .detail-story p,
    .services-page .detail-story:nth-of-type(even) p,
    .stock-page .stock-story p,
    .stock-page .stock-story li,
    .stock-page .stock-story:nth-of-type(even) p,
    .stock-page .stock-story:nth-of-type(even) li {
        font-size:15px
    }
}

/* Header matched to the supplied transparent panorama mockup. */
.header,
.home-page .header,
.home-page .header.is-over-hero {
    position:sticky;
    top:0;
    left:auto;
    right:auto;
    z-index:80;
    isolation:isolate;
    color:#14213a;
    background:rgba(255, 255, 255, .88);
    border-bottom:1px solid rgba(154, 174, 205, .34);
    box-shadow:0 10px 30px rgba(15, 35, 68, .08);
    -webkit-backdrop-filter:blur(22px) saturate(145%);
    backdrop-filter:blur(22px) saturate(145%);
    text-shadow:none;
    transition:background-color .28s ease, border-color .28s ease, box-shadow .28s ease, color .28s ease
}

.home-page .header,
.home-page .header.is-over-hero {
    position:fixed;
    left:0;
    right:0
}

.home-page .header.is-over-hero {
    color:#fff;
    background:rgba(3, 11, 28, .1);
    border-bottom-color:rgba(155, 204, 255, .16);
    box-shadow:none;
    -webkit-backdrop-filter:blur(10px) saturate(125%);
    backdrop-filter:blur(10px) saturate(125%)
}

.header:before {
    background:transparent
}

.home-page .header.is-over-hero:before {
    background:linear-gradient(90deg, rgba(4, 14, 34, .14), rgba(20, 74, 140, .08) 48%, rgba(3, 13, 33, .16))
}

.header:after {
    background:linear-gradient(90deg, transparent, rgba(69, 123, 208, .3), transparent)
}

.home-page .header.is-over-hero:after {
    background:linear-gradient(90deg, transparent, rgba(128, 200, 255, .38), transparent)
}

.header .nav.container {
    width:min(1540px, calc(100% - 40px))
}

.header .nav {
    position:relative;
    z-index:2;
    height:92px;
    gap:12px
}

.header .brand,
.home-page .header.is-over-hero .brand {
    min-height:52px;
    padding:7px 15px 7px 8px;
    border:1px solid rgba(78, 123, 194, .32);
    border-radius:999px;
    color:#14213a;
    background:rgba(255, 255, 255, .66);
    box-shadow:inset 0 1px 0 rgba(255, 255, 255, .78), 0 8px 24px rgba(17, 44, 86, .1);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
    backdrop-filter:blur(14px) saturate(140%);
    font-size:24px;
    letter-spacing:0
}

.home-page .header.is-over-hero .brand {
    color:#fff;
    border-color:rgba(150, 210, 255, .5);
    background:rgba(5, 18, 43, .34);
    box-shadow:inset 0 1px 0 rgba(255, 255, 255, .16), 0 8px 24px rgba(0, 8, 24, .18)
}

.header .brand-symbol {
    width:37px;
    height:37px;
    margin-right:10px;
    border-radius:8px;
    background:linear-gradient(145deg, #4d86ff, #0c62e8);
    box-shadow:0 5px 17px rgba(26, 101, 235, .42)
}

.header .brand-last {
    font-weight:500
}

.header .brand-period,
.home-page .header.is-over-hero .brand-period {
    color:#439cff
}

.header .desktop-nav {
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:0;
    border:0;
    border-radius:0;
    color:inherit;
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none
}

.header .nav-dropdown summary,
.header-link {
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:10px 13px;
    border:1px solid transparent;
    border-radius:999px;
    color:inherit;
    background:transparent;
    font-size:14px;
    font-weight:580;
    line-height:1.2;
    letter-spacing:0;
    white-space:nowrap;
    transition:color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease
}

.header .nav-dropdown summary:hover,
.header .nav-dropdown[open] summary,
.header-link:hover,
.header-link:focus-visible {
    color:#125dcf;
    background:rgba(40, 108, 229, .08)
}

.home-page .header.is-over-hero .nav-dropdown summary:hover,
.home-page .header.is-over-hero .nav-dropdown[open] summary,
.home-page .header.is-over-hero .header-link:hover,
.home-page .header.is-over-hero .header-link:focus-visible {
    color:#fff;
    border-color:rgba(138, 202, 255, .32);
    background:rgba(13, 57, 113, .32)
}

.header-link.is-active,
.header-link.is-active:hover,
.header-link.is-active:focus-visible,
.home-page .header.is-over-hero .header-link.is-active,
.home-page .header.is-over-hero .header-link.is-active:hover,
.home-page .header.is-over-hero .header-link.is-active:focus-visible {
    color:#fff;
    border-color:rgba(124, 194, 255, .72);
    background:linear-gradient(145deg, rgba(58, 122, 255, .95), rgba(26, 108, 239, .92));
    box-shadow:0 0 22px rgba(32, 119, 255, .44), inset 0 1px 0 rgba(255, 255, 255, .24)
}

.header-link[aria-disabled="true"],
.social-link[aria-disabled="true"] {
    cursor:default
}

.nav-chevron {
    width:14px;
    height:14px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .18s ease
}

.nav-dropdown[open] .nav-chevron,
.mobile-capabilities[open] .nav-chevron {
    transform:rotate(180deg)
}

.header .mega {
    top:calc(100% - 3px);
    width:min(980px, calc(100vw - 40px));
    padding:24px;
    border:1px solid rgba(161, 180, 211, .42);
    border-radius:12px;
    color:#1a2943;
    background:rgba(255, 255, 255, .96);
    box-shadow:0 26px 70px rgba(10, 29, 61, .2);
    -webkit-backdrop-filter:blur(22px) saturate(145%);
    backdrop-filter:blur(22px) saturate(145%)
}

.home-page .header.is-over-hero .mega {
    color:#f5f9ff;
    border-color:rgba(141, 201, 255, .3);
    background:rgba(4, 15, 38, .91);
    box-shadow:0 28px 80px rgba(0, 7, 22, .42)
}

.header .mega-heading {
    margin-bottom:14px;
    padding-bottom:17px;
    border-bottom-color:rgba(153, 174, 207, .3)
}

.header .mega-heading > a {
    color:#1766e2
}

.home-page .header.is-over-hero .mega-heading > a {
    color:#73b9ff
}

.header .mega-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px
}

.header .mega-grid > a,
.mobile-capability-links > a {
    display:grid;
    grid-template-columns:32px minmax(0, 1fr);
    align-items:center;
    gap:10px;
    min-height:50px;
    padding:9px 10px;
    border-radius:6px;
    color:inherit;
    font-size:14px;
    line-height:1.35
}

.header .mega-grid > a:hover {
    color:#145dcc;
    background:#edf4ff
}

.home-page .header.is-over-hero .mega-grid > a:hover {
    color:#fff;
    background:rgba(49, 116, 229, .22)
}

.mega-marker {
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#1959bd;
    background:#eaf2ff;
    font-size:10px;
    font-weight:750
}

.explore-feature-icon {
    display:inline-block;
    width:20px;
    height:20px;
    flex:0 0 20px;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    color:inherit;
    background-color:currentColor;
    -webkit-mask:var(--feature-icon) center / contain no-repeat;
    mask:var(--feature-icon) center / contain no-repeat
}

.explore-shortcuts a {
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-width:0;
    line-height:1.35
}

.explore-shortcuts a .explore-icon-badge {
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    flex:0 0 30px;
    margin:0;
    border-radius:8px;
    color:#1959bd;
    background:#eaf2ff;
    box-shadow:inset 0 0 0 1px #d1e2fc
}

.explore-icon-badge .explore-feature-icon {
    width:18px;
    height:18px
}

.explore-shortcuts a .explore-number {
    flex-shrink:0;
    margin:0;
    color:inherit;
    opacity:.65;
    font-size:11px;
    font-weight:650;
    line-height:1
}

.explore-shortcuts a .explore-shortcut-label {
    flex:1;
    min-width:0;
    margin:0;
    white-space:normal;
    overflow-wrap:anywhere
}

.explore-ring {
    background:#102440;
    border-color:#e1efff;
    color:#fff
}

.explore-ring .explore-feature-icon {
    width:18px;
    height:18px
}

@media (max-width:600px) {
    .explore-ring .explore-feature-icon {
        width:14px;
        height:14px
    }

    .explore-shortcuts a {
        gap:7px;
        padding:10px 8px;
        text-align:left
    }

    .explore-shortcuts a .explore-icon-badge {
        width:26px;
        height:26px;
        flex-basis:26px
    }

    .explore-icon-badge .explore-feature-icon {
        width:16px;
        height:16px
    }

    .explore-shortcuts a .explore-number {
        display:none
    }
}

.home-page .header.is-over-hero .mega-marker {
    color:#1959bd;
    background:#eaf2ff
}

.header .nav-end {
    flex-shrink:0;
    gap:10px
}

.header-phone,
.mobile-phone {
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:9px 14px;
    border:1px solid rgba(65, 115, 191, .34);
    border-radius:999px;
    color:#173054;
    background:rgba(255, 255, 255, .58);
    box-shadow:inset 0 1px 0 rgba(255, 255, 255, .72);
    -webkit-backdrop-filter:blur(13px);
    backdrop-filter:blur(13px);
    font-size:13px;
    font-weight:650;
    line-height:1;
    white-space:nowrap
}

.home-page .header.is-over-hero .header-phone {
    color:#fff;
    border-color:rgba(151, 211, 255, .52);
    background:rgba(4, 18, 43, .31)
}

.header-phone svg,
.mobile-phone svg {
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}

.header-socials {
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 10px;
    border-left:1px solid rgba(101, 126, 166, .26);
    border-right:1px solid rgba(101, 126, 166, .26)
}

.home-page .header.is-over-hero .desktop-socials {
    border-color:rgba(205, 230, 255, .25)
}

.social-link {
    width:25px;
    height:38px;
    display:grid;
    place-items:center;
    padding:2px;
    border:0;
    border-radius:6px;
    background:transparent;
    transition:transform .18s ease, background-color .18s ease
}

.social-link img {
    display:block;
    width:24px;
    height:24px;
    flex-shrink:0;
    object-fit:contain
}

.social-link:hover,
.social-link:focus-visible {
    transform:translateY(-1px);
    background:rgba(67, 123, 216, .1)
}

.header .nav-end > .language {
    display:none
}

.header .header-demo {
    min-height:46px;
    gap:10px;
    padding:11px 18px;
    border:1px solid rgba(117, 190, 255, .72);
    border-radius:999px;
    color:#fff;
    background:linear-gradient(145deg, #3479ff, #0873eb);
    box-shadow:0 0 22px rgba(29, 117, 255, .38), inset 0 1px 0 rgba(255, 255, 255, .25);
    font-size:13px
}

.header .header-demo:hover {
    background:linear-gradient(145deg, #4385ff, #0d7bf2);
    box-shadow:0 0 28px rgba(27, 121, 255, .52), inset 0 1px 0 rgba(255, 255, 255, .27)
}

.header .menu-toggle {
    display:none;
    border-color:rgba(62, 111, 185, .34);
    background:rgba(255, 255, 255, .58)
}

.header .menu-toggle > span {
    background:#17243a
}

.home-page .header.is-over-hero .menu-toggle {
    border-color:rgba(151, 211, 255, .5);
    background:rgba(4, 18, 43, .31)
}

.home-page .header.is-over-hero .menu-toggle > span {
    background:#fff
}

.header .mobile-menu,
.home-page .header.is-over-hero .mobile-menu {
    position:absolute;
    top:calc(100% + 8px);
    left:18px;
    right:18px;
    z-index:3;
    max-height:calc(100svh - 108px);
    padding:12px;
    overflow-y:auto;
    border:1px solid rgba(139, 163, 199, .4);
    border-radius:10px;
    color:#17243a;
    background:rgba(255, 255, 255, .96);
    box-shadow:0 24px 60px rgba(7, 25, 55, .24);
    -webkit-backdrop-filter:blur(24px) saturate(145%);
    backdrop-filter:blur(24px) saturate(145%);
    text-shadow:none
}

.home-page .header.is-over-hero .mobile-menu {
    color:#fff;
    border-color:rgba(146, 205, 255, .34);
    background:rgba(4, 15, 38, .94);
    box-shadow:0 24px 64px rgba(0, 7, 22, .46)
}

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

.mobile-capabilities > summary {
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 12px;
    border-radius:7px;
    color:inherit;
    background:rgba(47, 105, 203, .08);
    font-size:15px;
    font-weight:700;
    list-style:none
}

.mobile-capabilities > summary::-webkit-details-marker {
    display:none
}

.home-page .header.is-over-hero .mobile-capabilities > summary {
    background:rgba(49, 116, 229, .2)
}

.mobile-capability-links {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:4px;
    padding:8px 0 2px
}

.mobile-capability-links > a:hover {
    color:#165fce;
    background:#eef5ff
}

.home-page .header.is-over-hero .mobile-capability-links > a:hover {
    color:#fff;
    background:rgba(49, 116, 229, .22)
}

.mobile-header-links {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:6px;
    padding:9px 0
}

.mobile-header-links .header-link {
    width:100%;
    border-radius:7px
}

.mobile-phone {
    width:100%;
    border-radius:7px
}

.mobile-socials {
    justify-content:center;
    margin:9px 0;
    padding:3px 0;
    border:0
}

.mobile-demo {
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    border:1px solid rgba(132, 193, 255, .62);
    border-radius:7px;
    color:#fff;
    background:linear-gradient(145deg, #3479ff, #0873eb);
    font-size:14px;
    font-weight:700
}

.header:has(.mobile-menu:not([hidden])) {
    color:#17243a;
    background:rgba(255, 255, 255, .94);
    border-bottom-color:rgba(154, 174, 205, .34)
}

.home-page .header.is-over-hero:has(.mobile-menu:not([hidden])) {
    color:#fff;
    background:rgba(3, 12, 31, .82);
    border-bottom-color:rgba(146, 205, 255, .3)
}

@media (max-width:1320px) {
    .header .nav.container {
        width:calc(100% - 28px)
    }

    .header .nav-dropdown summary,
    .header-link {
        padding-inline:10px;
        font-size:13px
    }

    .header-phone {
        padding-inline:11px;
        font-size:12px
    }

    .header-socials {
        gap:4px;
        padding-inline:7px
    }

    .header .header-demo {
        padding-inline:15px
    }
}

@media (max-width:1080px) {
    .header .desktop-nav,
    .header-phone,
    .desktop-socials,
    .header .nav-end .header-demo {
        display:none
    }

    .header .nav-end > .language {
        min-width:38px;
        min-height:38px;
        display:grid;
        place-items:center;
        padding:5px 8px;
        border:1px solid rgba(62, 111, 185, .34);
        border-radius:999px;
        color:#183153;
        background:rgba(255, 255, 255, .58);
        font-size:13px;
        font-weight:700
    }

    .home-page .header.is-over-hero .nav-end > .language {
        color:#fff;
        border-color:rgba(151, 211, 255, .5);
        background:rgba(4, 18, 43, .31)
    }

    .header .menu-toggle {
        display:block
    }
}

@media (max-width:600px) {
    .header .nav {
        height:72px
    }

    .header .nav.container {
        width:calc(100% - 18px)
    }

    .header .brand,
    .home-page .header.is-over-hero .brand {
        min-height:44px;
        padding:5px 11px 5px 6px;
        font-size:20px
    }

    .header .brand-symbol {
        width:32px;
        height:32px;
        margin-right:8px;
        font-size:22px
    }

    .header .brand-period {
        font-size:25px
    }

    .header .nav-end {
        gap:7px
    }

    .header .nav-end > .language {
        min-width:35px;
        min-height:35px;
        font-size:12px
    }

    .header .mobile-menu,
    .home-page .header.is-over-hero .mobile-menu {
        top:calc(100% + 6px);
        left:9px;
        right:9px;
        max-height:calc(100svh - 86px);
        padding:9px
    }

    .mobile-capability-links {
        grid-template-columns:1fr;
        max-height:38svh;
        overflow-y:auto
    }

    .mobile-capability-links > a {
        min-height:44px;
        padding-block:7px;
        font-size:13px
    }
}

.orders-page .prose {
    max-width:none;
    min-width:0
}

.orders-page .order-story {
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, .9fr);
    gap:28px;
    align-items:center;
    padding:28px;
    margin-bottom:18px;
    border:1px solid #dbe9f7;
    border-radius:8px;
    background:linear-gradient(135deg, #fff, #f6faff 68%, #edf5ff);
    overflow:hidden
}

.orders-page .order-story:nth-of-type(even) .order-story-copy {
    grid-column:2;
    grid-row:1
}

.orders-page .order-story:nth-of-type(even) .order-story-media {
    grid-column:1;
    grid-row:1
}

.orders-page .order-story h2 {
    margin:14px 0 20px;
    font-size:clamp(24px, 2.2vw, 34px);
    line-height:1.2;
    letter-spacing:-.7px
}

.orders-page .order-story p,
.orders-page .order-story li {
    font-size:16px;
    line-height:1.65;
    overflow-wrap:anywhere
}

.orders-page .section-index {
    display:inline-grid;
    place-items:center;
    width:34px;
    height:34px;
    border:1px solid #c8ddff;
    border-radius:5px;
    color:#246fe5;
    background:#eaf3ff
}

.order-story-media {
    position:relative;
    display:grid;
    gap:14px;
    min-width:0;
    margin:0;
    padding:20px;
    border-radius:8px;
    background:radial-gradient(ellipse at center, #d6eaff, #eff6ff 75%)
}

.order-story-media > img {
    display:block;
    width:100%;
    height:auto;
    max-height:300px;
    object-fit:contain;
    border-radius:6px
}

.order-story-media figcaption {
    color:#5c7499;
    font-size:12px;
    text-align:center
}

.order-panel {
    min-width:0;
    padding:18px;
    border:1px solid #cde0fb;
    border-radius:7px;
    background:rgba(255,255,255,.96);
    box-shadow:0 10px 24px rgba(42,87,143,.08);
    color:#172c50;
    font-size:13px
}

.order-panel > b {
    display:block;
    margin-bottom:16px;
    font-size:15px
}

.order-panel > span,
.order-panel > em {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:8px;
    padding:10px 0;
    border-bottom:1px solid #edf2f9;
    font-style:normal
}

.order-panel strong {
    color:#174f9f
}

.order-panel > em {
    border:0;
    color:#1764df;
    font-weight:700
}

.order-panel-action,
.order-search,
.order-total {
    padding:12px;
    border:1px solid #c8ddff;
    border-radius:5px;
    background:#edf5ff;
    color:#1764df
}

.order-search {
    display:flex;
    justify-content:space-between;
    background:#fff
}

.order-total {
    display:grid;
    gap:12px;
    text-align:center;
    font-size:14px
}

.order-total b {
    font-size:30px
}

.order-pending {
    display:inline-block;
    padding:6px 8px;
    border-radius:4px;
    background:#fff1d4;
    color:#97610b !important
}

.order-working {
    padding:6px 8px;
    border-radius:4px;
    background:#e5f0ff
}

.order-payment-methods {
    display:flex;
    flex-wrap:wrap;
    gap:8px
}

.order-payment-methods span {
    padding:12px;
    border:1px solid #c8ddff;
    border-radius:5px;
    color:#1764df
}

.order-related {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    margin-bottom:22px
}

.order-related > a {
    padding:24px;
    border:1px solid #dbe9f7;
    border-radius:8px;
    background:#f6faff
}

.orders-page .order-related h3 {
    margin:0 0 12px;
    font-size:20px
}

@media (max-width:1200px) {
    .orders-page .order-story {
        grid-template-columns:minmax(0, 1fr) minmax(0, .8fr)
    }
}

@media (max-width:800px) {
    .orders-page .order-story {
        grid-template-columns:minmax(0, 1fr);
        padding:22px;
        gap:18px
    }

    .orders-page .order-story:nth-of-type(even) .order-story-copy,
    .orders-page .order-story:nth-of-type(even) .order-story-media {
        grid-column:auto;
        grid-row:auto
    }
}

@media (max-width:600px) {
    .orders-page .order-story {
        padding:18px
    }

    .orders-page .order-story h2 {
        font-size:25px
    }

    .order-story-media {
        padding:12px
    }

    .order-related {
        grid-template-columns:minmax(0, 1fr)
    }
}

/* Chapter navigation shared by the capability guides. */
.services-page .article-layout,
.stock-page .article-layout,
.clients-page .article-layout,
.team-page .article-layout,
.orders-page .article-layout,
.posts-page .article-layout {
    grid-template-columns:clamp(282px, 22vw, 320px) minmax(0, 1fr);
    gap:32px
}

.services-page .toc,
.stock-page .article-layout > .toc,
.clients-page .toc,
.team-page .toc,
.orders-page .toc,
.posts-page .toc {
    top:98px;
    max-height:calc(100vh - 116px);
    padding:20px 16px 17px;
    overflow-x:hidden;
    overflow-y:auto;
    border:1px solid #dbe9f7;
    border-radius:8px;
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 30px rgba(42,87,143,.07);
    counter-reset:toc-chapter;
    scrollbar-width:thin;
    scrollbar-color:#b8ccec transparent
}

.services-page .toc > span,
.stock-page .toc > span,
.clients-page .toc > span,
.team-page .toc > span,
.orders-page .toc > span,
.posts-page .toc > span {
    padding:0 10px 15px;
    color:#4f6d99;
    font-size:13px;
    font-weight:750;
    line-height:1.35;
    letter-spacing:0
}

.services-page .toc > a[href^="#"],
.stock-page .toc > a[href^="#"],
.clients-page .toc > a[href^="#"],
.team-page .toc > a[href^="#"],
.orders-page .toc > a[href^="#"],
.posts-page .toc > a[href^="#"] {
    min-height:52px;
    display:grid;
    grid-template-columns:30px minmax(0, 1fr);
    align-items:start;
    gap:10px;
    margin:0;
    padding:11px 11px 11px 9px;
    border:0;
    border-radius:6px;
    color:#536b91;
    font-size:15px;
    font-weight:520;
    line-height:1.45;
    counter-increment:toc-chapter;
    transition:background-color .18s ease, color .18s ease, box-shadow .18s ease
}

.services-page .toc > a[href^="#"]:before,
.stock-page .toc > a[href^="#"]:before,
.clients-page .toc > a[href^="#"]:before,
.team-page .toc > a[href^="#"]:before,
.orders-page .toc > a[href^="#"]:before,
.posts-page .toc > a[href^="#"]:before {
    content:counter(toc-chapter, decimal-leading-zero);
    min-width:30px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:5px;
    color:#246fe5;
    background:#e6efff;
    font-size:11px;
    font-weight:750;
    line-height:1
}

.services-page .toc > a[href^="#"]:hover,
.services-page .toc > a[href^="#"]:focus-visible,
.stock-page .toc > a[href^="#"]:hover,
.stock-page .toc > a[href^="#"]:focus-visible,
.posts-page .toc > a[href^="#"]:hover,
.clients-page .toc > a[href^="#"]:hover,
.team-page .toc > a[href^="#"]:hover,
.orders-page .toc > a[href^="#"]:hover,
.clients-page .toc > a[href^="#"]:focus-visible,
.team-page .toc > a[href^="#"]:focus-visible,
.orders-page .toc > a[href^="#"]:focus-visible,
.posts-page .toc > a[href^="#"]:focus-visible {
    color:#174f9f;
    background:#f0f6ff
}

.services-page .toc > a[href^="#"].active,
.stock-page .toc > a[href^="#"].active,
.clients-page .toc > a[href^="#"].active,
.team-page .toc > a[href^="#"].active,
.orders-page .toc > a[href^="#"].active,
.posts-page .toc > a[href^="#"].active {
    color:#104fae;
    background:linear-gradient(90deg, #e5f0ff, #f4f8ff);
    box-shadow:inset 3px 0 #2875e8;
    font-weight:680
}

.services-page .toc > a[href^="#"].active:before,
.stock-page .toc > a[href^="#"].active:before,
.clients-page .toc > a[href^="#"].active:before,
.team-page .toc > a[href^="#"].active:before,
.orders-page .toc > a[href^="#"].active:before,
.posts-page .toc > a[href^="#"].active:before {
    color:#fff;
    background:#2875e8;
    box-shadow:0 5px 13px rgba(40, 117, 232, .28)
}

.toc > a.toc-all[href] {
    position:relative;
    min-height:45px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:14px 0 0;
    padding:12px 10px;
    border-left:0;
    border-radius:8px;
    text-align:center;
    transition:background-color .18s ease, color .18s ease;
    color:#1764df;
    font-size:14px;
    font-weight:650;
    line-height:1.4
}

.toc > a.toc-all[href]::after {
    content:'\2192';
    position:static;
    flex:0 0 auto;
    font-size:17px;
    line-height:1
}

.toc > a.toc-all[href]:hover,
.toc > a.toc-all[href]:focus-visible {
    border-radius:8px;
    background:#eaf3ff;
    color:#104fae
}

@media (max-width:1200px) {
    .services-page .article-layout,
    .stock-page .article-layout,
    .clients-page .article-layout,
    .team-page .article-layout,
    .orders-page .article-layout,
    .posts-page .article-layout {
        grid-template-columns:minmax(0, 1fr);
        gap:16px
    }

    .services-page .toc,
    .stock-page .article-layout > .toc,
    .clients-page .toc,
    .team-page .toc,
    .orders-page .toc,
    .posts-page .toc {
        position:sticky;
        top:91px;
        z-index:35;
        max-height:none;
        display:flex;
        flex-direction:row;
        align-items:stretch;
        gap:8px;
        padding:10px;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x proximity;
        overscroll-behavior-x:contain;
        -webkit-overflow-scrolling:touch
    }

    .services-page .toc > span,
    .stock-page .toc > span,
    .clients-page .toc > span,
    .team-page .toc > span,
    .orders-page .toc > span,
    .posts-page .toc > span {
        flex:0 0 128px;
        display:flex;
        align-items:center;
        padding:8px 10px
    }

    .services-page .toc > a[href^="#"],
    .stock-page .toc > a[href^="#"],
    .clients-page .toc > a[href^="#"],
    .team-page .toc > a[href^="#"],
    .orders-page .toc > a[href^="#"],
    .posts-page .toc > a[href^="#"] {
        flex:0 0 250px;
        min-height:64px;
        scroll-snap-align:center
    }

    .toc > a.toc-all[href] {
        flex:0 0 205px;
        min-height:64px;
        margin:0;
        padding:11px 13px;
        border:0;
        border-left:1px solid #dbe6f5
    }

    .services-page .prose-section,
    .stock-page .prose-section,
    .clients-page .prose-section,
    .team-page .prose-section,
    .orders-page .prose-section,
    .posts-page .prose-section {
        scroll-margin-top:180px
    }
}

@media (max-width:600px) {
    .services-page .toc,
    .stock-page .article-layout > .toc,
    .clients-page .toc,
    .team-page .toc,
    .orders-page .toc,
    .posts-page .toc {
        top:73px;
        gap:6px;
        padding:8px
    }

    .services-page .toc > span,
    .stock-page .toc > span,
    .clients-page .toc > span,
    .team-page .toc > span,
    .orders-page .toc > span,
    .posts-page .toc > span {
        display:none
    }

    .services-page .toc > a[href^="#"],
    .stock-page .toc > a[href^="#"],
    .clients-page .toc > a[href^="#"],
    .team-page .toc > a[href^="#"],
    .orders-page .toc > a[href^="#"],
    .posts-page .toc > a[href^="#"] {
        flex-basis:250px;
        min-height:60px;
        padding:10px;
        font-size:14px;
        line-height:1.4
    }

    .toc > a.toc-all[href] {
        flex-basis:178px;
        min-height:60px;
        padding:10px 12px;
        font-size:13px
    }

    .services-page .prose-section,
    .stock-page .prose-section,
.clients-page .prose-section,
.team-page .prose-section,
.orders-page .prose-section,
.posts-page .prose-section {
        scroll-margin-top:158px
    }
}

/* Reference header: keep the panorama clear and glass on individual controls. */
.header,
.home-page .header {
    color:#fff;
    background:rgba(5, 14, 34, .96);
    border-bottom-color:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none
}

.home-page .header.is-over-hero {
    color:#fff;
    background:transparent;
    text-shadow:0 1px 12px rgba(0, 8, 22, .5)
}

.header:before,
.header:after,
.home-page .header.is-over-hero:before,
.home-page .header.is-over-hero:after {
    background:none
}

.header .nav {
    position:relative;
    height:76px;
    gap:12px
}

.header .nav:before {
    content:'';
    position:absolute;
    top:14px;
    bottom:14px;
    left:10px;
    width:3px;
    border-radius:3px;
    background:#ff7837;
    box-shadow:0 0 14px rgba(255, 120, 55, .72)
}

.header .brand,
.home-page .header.is-over-hero .brand {
    min-height:46px;
    margin-left:26px;
    padding:5px 8px 5px 0;
    border:0;
    border-radius:0;
    color:#fff;
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    font-size:23px
}

.header .brand-symbol {
    width:42px;
    height:42px;
    margin-right:10px;
    border-radius:10px
}

.header .brand-period,
.home-page .header.is-over-hero .brand-period {
    color:#66b7ff
}

.header .desktop-nav {
    gap:3px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none
}

.header .nav-dropdown summary,
.header-link {
    min-height:42px;
    padding:9px 13px;
    border-color:rgba(202, 224, 255, .14);
    color:#f4f8ff;
    background:rgba(5, 15, 35, .34);
    box-shadow:inset 0 1px rgba(255, 255, 255, .08);
    -webkit-backdrop-filter:blur(10px) saturate(135%);
    backdrop-filter:blur(10px) saturate(135%)
}

.header .nav-dropdown summary:hover,
.header .nav-dropdown[open] summary,
.header-link:hover,
.header-link:focus-visible {
    border-color:rgba(126, 190, 255, .55);
    color:#fff;
    background:rgba(20, 60, 116, .62)
}

.header-link.is-active,
.header-link.is-active:hover,
.header-link.is-active:focus-visible,
.home-page .header.is-over-hero .header-link.is-active,
.home-page .header.is-over-hero .header-link.is-active:hover,
.home-page .header.is-over-hero .header-link.is-active:focus-visible {
    border-color:rgba(125, 190, 255, .88);
    background:linear-gradient(145deg, #1677ff, #0757d9);
    box-shadow:0 0 20px rgba(30, 116, 255, .44), inset 0 1px rgba(255, 255, 255, .28)
}

.header .nav-end {
    gap:9px
}

.header-phone-dropdown {
    position:relative
}

.header .header-phone {
    min-height:42px;
    gap:9px;
    padding:9px 12px;
    border-color:rgba(202, 224, 255, .22);
    color:#fff;
    background:rgba(5, 15, 35, .38);
    box-shadow:inset 0 1px rgba(255, 255, 255, .1);
    -webkit-backdrop-filter:blur(10px) saturate(135%);
    backdrop-filter:blur(10px) saturate(135%);
    cursor:pointer
}

.header .header-phone-dropdown[open] > .header-phone,
.header .header-phone-dropdown:hover > .header-phone {
    border-color:rgba(126, 190, 255, .58);
    background:rgba(20, 60, 116, .66)
}

.header .header-phone::-webkit-details-marker {
    display:none
}

.header .header-phone {
    list-style:none
}

.phone-chevron {
    width:14px;
    height:14px;
    flex:0 0 14px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .18s ease
}

.header-phone-dropdown[open] .phone-chevron {
    transform:rotate(180deg)
}

.header-phone-menu {
    position:absolute;
    top:calc(100% + 9px);
    right:0;
    z-index:5;
    display:grid;
    min-width:230px;
    gap:4px;
    padding:8px;
    border:1px solid rgba(158, 198, 255, .3);
    border-radius:12px;
    background:rgba(5, 16, 39, .94);
    box-shadow:0 18px 40px rgba(0, 8, 25, .35);
    -webkit-backdrop-filter:blur(18px) saturate(145%);
    backdrop-filter:blur(18px) saturate(145%)
}

.header-phone-dropdown:not([open]) > .header-phone-menu {
    display:none
}

.header-phone-dropdown[open] > .header-phone-menu {
    display:grid
}

.header-phone-menu a {
    display:flex;
    align-items:center;
    min-height:42px;
    padding:9px 12px;
    border-radius:7px;
    color:#fff;
    font-size:14px;
    font-weight:650;
    text-decoration:none;
    white-space:nowrap
}

.header-phone-menu a:hover,
.header-phone-menu a:focus-visible {
    background:rgba(44, 114, 221, .36)
}

.header-socials {
    gap:5px;
    padding:0 8px;
    border-color:rgba(202, 224, 255, .22)
}

.social-link {
    width:31px;
    height:36px;
    border:1px solid transparent;
    border-radius:8px;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px)
}

.social-link:hover,
.social-link:focus-visible {
    border-color:rgba(153, 204, 255, .35);
    background:rgba(14, 48, 93, .58)
}

.language-switch {
    display:flex;
    align-items:center;
    gap:2px;
    min-height:36px;
    padding:3px;
    border:1px solid rgba(202, 224, 255, .24);
    border-radius:999px;
    color:#e7f1ff;
    background:rgba(5, 15, 35, .4);
    box-shadow:inset 0 1px rgba(255, 255, 255, .08);
    -webkit-backdrop-filter:blur(10px) saturate(135%);
    backdrop-filter:blur(10px) saturate(135%)
}

.language-switch .language-current,
.language-switch .language {
    min-width:32px;
    min-height:28px;
    display:grid;
    place-items:center;
    padding:4px 7px;
    border:0;
    border-radius:999px;
    color:#d8e8ff;
    background:transparent;
    font-size:11px;
    font-weight:750;
    line-height:1;
    text-decoration:none
}

.language-switch .language-current {
    color:#fff;
    background:linear-gradient(145deg, #1677ff, #0757d9);
    box-shadow:0 2px 9px rgba(16, 100, 235, .42)
}

.language-switch .language:hover,
.language-switch .language:focus-visible {
    color:#fff;
    background:rgba(76, 137, 225, .32)
}

.header .header-demo {
    min-height:44px;
    padding:11px 17px;
    border:1px solid rgba(122, 190, 255, .68);
    border-radius:12px;
    background:linear-gradient(145deg, #1677ff, #0757d9);
    box-shadow:0 8px 24px rgba(0, 83, 221, .32), inset 0 1px rgba(255, 255, 255, .24)
}

.header .mega {
    -webkit-backdrop-filter:blur(18px) saturate(145%);
    backdrop-filter:blur(18px) saturate(145%)
}

.home-page .header.is-over-hero:has(.mobile-menu:not([hidden])) {
    color:#fff;
    background:rgba(4, 13, 32, .94);
    -webkit-backdrop-filter:none;
    backdrop-filter:none
}

.header:has(.mobile-menu:not([hidden])) {
    color:#fff;
    background:rgba(4, 13, 32, .96)
}

@media (max-width:1320px) {
    .header .nav.container {
        width:calc(100% - 80px)
    }

    .header .nav {
        gap:7px
    }

    .header .header-phone {
        padding-inline:9px;
        font-size:12px
    }

    .header .brand {
        font-size:21px
    }

    .header .nav-dropdown summary,
    .header-link {
        padding-inline:9px;
        font-size:12px
    }
}

@media (max-width:1080px) {
    .header-phone-dropdown {
        display:none
    }

    .language-switch {
        min-height:35px
    }

    .language-switch .language-current,
    .language-switch .language {
        min-width:29px;
        min-height:27px;
        font-size:10px
    }

    .header .nav {
        height:72px
    }
}

@media (max-width:600px) {
    .header .nav.container {
        width:calc(100% - 18px)
    }

    .header .nav:before {
        display:none
    }

    .header .brand,
    .home-page .header.is-over-hero .brand {
        min-height:42px;
        margin-left:0;
        font-size:19px
    }

    .header .brand-symbol {
        width:34px;
        height:34px;
        margin-right:8px
    }

    .header .nav-end {
        gap:6px
    }
}

@media (prefers-reduced-transparency: reduce) {
    .header .nav-dropdown summary,
    .header-link,
    .header .header-phone,
    .header-socials,
    .language-switch {
        background:#07152c
    }

    .header .nav-dropdown summary,
    .header-link,
    .header .header-phone,
    .social-link,
    .language-switch {
        -webkit-backdrop-filter:none;
        backdrop-filter:none
    }
}

.header .mega,
.home-page .header.is-over-hero .mega {
    top:calc(var(--site-header-height, 78px) - var(--mega-anchor-y, 0px) + 16px);
    left:calc(50vw - var(--mega-anchor-x, 0px));
    width:min(1496px, calc(100vw - 48px));
    padding:0 22px 19px;
    border:1px solid rgba(133, 198, 243, .6);
    border-radius:32px;
    color:#f4f7fc;
    background:linear-gradient(120deg, rgba(8, 24, 43, .97), rgba(4, 15, 33, .96) 60%, rgba(8, 26, 47, .97));
    box-shadow:0 24px 65px rgba(0, 5, 16, .55), inset 0 1px 1px rgba(199, 228, 255, .12);
    text-shadow:none;
    isolation:isolate;
    scrollbar-width:thin;
    scrollbar-color:#284769 #08182b;
    -webkit-backdrop-filter:blur(22px);
    backdrop-filter:blur(22px)
}

.header .mega-heading {
    position:relative;
    min-height:144px;
    margin:0 -22px 0;
    padding:22px 31% 24px 32px;
    border:0;
    overflow:hidden;
    border-radius:31px 31px 0 0;
    background-image:linear-gradient(90deg, #091b30 15%, rgba(6, 20, 40, .6) 45%, transparent 75%), url('/assets/images/home/mega-car-banner.png');
    background-position:center, right center;
    background-size:cover, auto 100%;
    background-repeat:no-repeat
}

.mega-intro {
    position:relative;
    flex-shrink:0
}

.mega-eyebrow {
    display:block;
    margin-bottom:8px;
    color:#87adcf;
    font-size:13px;
    font-weight:650;
    letter-spacing:1.1px
}

.mega-intro > b {
    display:block;
    color:#f5f8ff;
    font-size:34px;
    font-weight:750;
    letter-spacing:-.8px;
    line-height:1.2
}

.mega-intro > b > span {
    color:#609ff6
}

.mega-intro > p {
    margin:8px 0 0;
    color:#a3bfdf;
    font-size:16px;
    line-height:1.4
}

.header .mega-heading > a,
.home-page .header.is-over-hero .mega-heading > a {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    gap:10px;
    min-height:54px;
    padding:12px 23px;
    border:1px solid rgba(121, 172, 255, .65);
    border-radius:999px;
    color:#f0f5ff;
    background:linear-gradient(105deg, rgba(11, 69, 188, .95), rgba(7, 20, 43, .7));
    box-shadow:inset 0 1px 1px rgba(255, 255, 255, .12);
    font-size:17px;
    font-weight:650;
    white-space:nowrap
}

.header .mega-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:7px 18px
}

.header .mega-grid > a {
    display:grid;
    grid-template-columns:86px minmax(0, 1fr) 38px;
    gap:21px;
    min-height:104px;
    padding:8px 19px 8px 10px;
    border:1px solid rgba(119, 157, 202, .33);
    border-radius:22px;
    color:#f4f7fc;
    background:linear-gradient(110deg, rgba(14, 29, 48, .62), rgba(6, 16, 33, .62));
    box-shadow:inset 0 1px 1px rgba(194, 221, 255, .05);
    text-decoration:none;
    transition:border-color .18s ease, background-color .18s ease
}

.header .mega .mega-grid .mega-art {
    width:86px;
    height:86px;
    border:1px solid rgba(177, 210, 241, .16);
    border-radius:18px;
    background-color:#0b192b;
    background-image:url('/assets/images/home/mega-feature-atlas.png');
    background-size:300% 400%;
    background-position:var(--art-x) var(--art-y);
    box-shadow:0 5px 10px rgba(0, 0, 0, .4), inset 0 1px 1px rgba(225, 243, 255, .14)
}

.mega-copy {
    display:grid;
    gap:5px;
    min-width:0
}

.mega-title {
    color:#f4f7fc;
    font-size:18px;
    font-weight:700;
    line-height:1.25
}

.mega-description {
    max-width:260px;
    color:#a3bfdf;
    font-size:16px;
    font-weight:400;
    line-height:1.4
}

.mega-arrow {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    color:#c4d7ed;
    background:rgba(23, 44, 72, .46);
    font-size:23px;
    font-weight:400
}

.header .mega-grid > a:hover,
.header .mega-grid > a:focus-visible,
.home-page .header.is-over-hero .mega-grid > a:hover,
.header .mega-grid > a[aria-current="page"] {
    color:#fff;
    border-color:rgba(95, 169, 255, .8);
    background:rgba(25, 73, 132, .35);
    box-shadow:inset 0 0 20px rgba(45, 116, 223, .1)
}

.header .desktop-nav .nav-dropdown[open] > summary,
.home-page .header.is-over-hero .desktop-nav .nav-dropdown[open] > summary,
.header .desktop-nav .nav-dropdown.is-current > summary {
    border-color:rgba(132, 190, 255, .7);
    color:#fff;
    background:linear-gradient(160deg, #164b96, #0a5bf0);
    box-shadow:inset 0 1px 3px rgba(255, 255, 255, .2), 0 0 16px rgba(21, 101, 245, .3)
}

@media (max-width:1400px) {
    .header .mega-heading {
        padding-right:24%
    }

    .mega-intro > b {
        font-size:28px
    }

    .header .mega-grid {
        gap:8px 12px
    }

    .header .mega-grid > a {
        grid-template-columns:66px minmax(0, 1fr) 28px;
        gap:12px;
        padding:8px 12px 8px 8px
    }

    .header .mega .mega-grid .mega-art {
        width:66px;
        height:66px;
        border-radius:14px
    }

    .mega-title {
        font-size:15px
    }

    .mega-description {
        font-size:14px
    }

    .mega-arrow {
        width:28px;
        height:28px;
        font-size:19px
    }
}

/* Mockup header: clear panorama, glass capsules, brand socials and a UA/RU switch. */
.header,
.home-page .header {
    color:#fff;
    background:rgba(4, 12, 30, .92);
    border-bottom:1px solid rgba(150, 196, 255, .14);
    box-shadow:none;
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    backdrop-filter:blur(18px) saturate(140%)
}

.home-page .header.is-over-hero {
    background:transparent;
    border-bottom-color:transparent;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    text-shadow:0 1px 14px rgba(0, 8, 22, .45)
}

.header .nav.container {
    width:min(1560px, calc(100% - 48px))
}

.header .nav {
    height:78px;
    gap:16px
}

.header .nav:before {
    display:none
}

.header .brand,
.home-page .header.is-over-hero .brand {
    min-height:44px;
    margin-left:0;
    padding:0;
    color:#fff;
    font-size:24px;
    font-weight:700;
    letter-spacing:-.02em
}

.header .brand-symbol {
    width:44px;
    height:44px;
    margin-right:12px;
    padding:0;
    border-radius:12px;
    background:linear-gradient(160deg, #3a84ff, #0a5bf0);
    box-shadow:0 8px 22px rgba(12, 90, 240, .42), inset 0 1px 0 rgba(255, 255, 255, .3);
    font-size:25px;
    font-weight:800;
    letter-spacing:-2px;
    transform:none
}

.header .brand-period,
.home-page .header.is-over-hero .brand-period {
    color:#fff;
    font-size:28px
}

.header .desktop-nav {
    min-height:48px;
    gap:2px;
    padding:4px;
    border:1px solid rgba(188, 218, 255, .22);
    border-radius:999px;
    background:rgba(8, 20, 44, .42);
    box-shadow:inset 0 1px 0 rgba(255, 255, 255, .14), 0 10px 30px rgba(1, 8, 24, .26);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
    backdrop-filter:blur(16px) saturate(150%)
}

.header .nav-dropdown summary,
.header-link {
    min-height:40px;
    padding:9px 16px;
    border-color:transparent;
    color:#eaf2ff;
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    font-size:15px;
    font-weight:560
}

.header .nav-dropdown summary:hover,
.header .nav-dropdown[open] summary,
.header-link:hover,
.header-link:focus-visible {
    color:#fff;
    border-color:transparent;
    background:rgba(255, 255, 255, .11)
}

.header-link.is-active,
.header-link.is-active:hover,
.header-link.is-active:focus-visible,
.home-page .header.is-over-hero .header-link.is-active,
.home-page .header.is-over-hero .header-link.is-active:hover,
.home-page .header.is-over-hero .header-link.is-active:focus-visible {
    border-color:rgba(132, 190, 255, .7);
    background:linear-gradient(160deg, #1f7bff, #0a5bf0);
    box-shadow:0 0 0 3px rgba(21, 101, 245, .2), 0 6px 18px rgba(8, 80, 220, .38), inset 0 1px 0 rgba(255, 255, 255, .26)
}

.header-contacts {
    display:flex;
    align-items:center
}

.header .nav-end {
    gap:12px
}

.header .header-phone {
    min-height:46px;
    gap:11px;
    padding:10px 18px 10px 15px;
    border:1px solid rgba(188, 218, 255, .26);
    border-radius:999px;
    color:#fff;
    background:rgba(8, 20, 44, .4);
    box-shadow:inset 0 1px 0 rgba(255, 255, 255, .12);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
    backdrop-filter:blur(16px) saturate(150%);
    font-size:15px;
    font-weight:560
}

.header .header-phone:hover,
.header .header-phone:focus-visible {
    border-color:rgba(132, 190, 255, .55);
    background:rgba(16, 48, 100, .5)
}

.header .header-phone svg {
    width:19px;
    height:19px;
    flex:0 0 19px;
    fill:currentColor;
    stroke:none
}

.header-socials.desktop-socials {
    gap:15px;
    padding:0 2px 0 15px;
    border-right:0;
    border-left:1px solid rgba(190, 220, 255, .26)
}

.desktop-socials .social-link {
    position:relative;
    width:30px;
    height:30px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    -webkit-backdrop-filter:none;
    backdrop-filter:none
}

.desktop-socials .social-link + .social-link:before {
    content:none;
    position:absolute;
    left:-9px;
    top:50%;
    width:3px;
    height:3px;
    margin-top:-1.5px;
    border-radius:50%;
    background:rgba(214, 230, 255, .5)
}

.desktop-socials .social-link:hover,
.desktop-socials .social-link:focus-visible {
    border:0;
    background:transparent;
    transform:translateY(-2px);
    filter:brightness(1.12)
}

.header .nav-end > .language {
    min-width:0;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    gap:3px;
    padding:4px;
    border:1px solid rgba(188, 218, 255, .26);
    border-radius:999px;
    color:#cfe2ff;
    background:rgba(8, 20, 44, .4);
    box-shadow:inset 0 1px 0 rgba(255, 255, 255, .12);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
    backdrop-filter:blur(16px) saturate(150%);
    font-size:0;
    text-decoration:none
}

.header .nav-end > .language:before,
.header .nav-end > .language:after {
    min-width:34px;
    min-height:30px;
    display:grid;
    place-items:center;
    padding:0 9px;
    border-radius:999px;
    color:#cfe2ff;
    font-size:13px;
    font-weight:750;
    line-height:1;
    transition:color .18s ease, background-color .18s ease
}

.header .nav-end > .language:before {
    content:'UA'
}

.header .nav-end > .language:after {
    content:'RU'
}

html[lang="uk"] .header .nav-end > .language:before,
html[lang="ru"] .header .nav-end > .language:after {
    color:#fff;
    background:linear-gradient(160deg, #1f7bff, #0a5bf0);
    box-shadow:0 4px 12px rgba(10, 91, 240, .38), inset 0 1px 0 rgba(255, 255, 255, .22)
}

html[lang="uk"] .header .nav-end > .language:hover:after,
html[lang="uk"] .header .nav-end > .language:focus-visible:after,
html[lang="ru"] .header .nav-end > .language:hover:before,
html[lang="ru"] .header .nav-end > .language:focus-visible:before {
    color:#fff;
    background:rgba(255, 255, 255, .13)
}

.header .header-demo {
    min-height:46px;
    gap:10px;
    padding:12px 20px;
    border:1px solid rgba(132, 190, 255, .5);
    border-radius:18px;
    color:#fff;
    background:linear-gradient(160deg, #2b80ff, #0a5bf0);
    box-shadow:0 0 0 2px rgba(31, 123, 255, .2), 0 0 22px rgba(8, 100, 255, .65), inset 0 1px 3px rgba(255, 255, 255, .5);
    font-size:15px;
    font-weight:600
}

.header .header-demo:hover {
    background:linear-gradient(160deg, #3c8bff, #0f66fb);
    box-shadow:0 12px 30px rgba(8, 80, 220, .52), inset 0 1px 0 rgba(255, 255, 255, .28);
    transform:translateY(-1px)
}

.header .menu-toggle,
.home-page .header.is-over-hero .menu-toggle {
    border:1px solid rgba(188, 218, 255, .26);
    border-radius:12px;
    background:rgba(8, 20, 44, .4);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
    backdrop-filter:blur(16px) saturate(150%)
}

@media (min-width:1081px) {
    .header-contacts {
        min-height:52px;
        padding:5px 8px 5px 12px;
        border:1px solid rgba(188, 218, 255, .3);
        border-radius:999px;
        background:linear-gradient(110deg, rgba(18, 37, 59, .7), rgba(91, 101, 114, .36) 45%, rgba(14, 47, 91, .65));
        box-shadow:inset 0 1px 2px rgba(255, 255, 255, .2), 0 6px 22px rgba(0, 8, 25, .25);
        -webkit-backdrop-filter:blur(18px) saturate(150%);
        backdrop-filter:blur(18px) saturate(150%)
    }

    .header .header-contacts .header-phone {
        min-height:40px;
        gap:10px;
        padding:5px 16px 5px 4px;
        border:0;
        background:transparent;
        box-shadow:none;
        -webkit-backdrop-filter:none;
        backdrop-filter:none;
        font-size:14px
    }

    .header .header-contacts .header-phone > svg:first-child {
        width:28px;
        height:28px;
        flex-basis:28px;
        padding:6px;
        border-radius:50%;
        background:linear-gradient(145deg, #2b8aff, #0055ed);
        filter:drop-shadow(0 0 7px rgba(20, 113, 255, .8))
    }

    .header .header-contacts .phone-chevron {
        width:13px;
        height:13px;
        flex-basis:13px;
        fill:none;
        stroke:currentColor
    }

    .header-contacts .header-socials.desktop-socials {
        gap:10px;
        padding:0 16px;
        border-inline:1px solid rgba(205, 230, 255, .3)
    }

    .header-contacts .social-link img {
        width:26px;
        height:26px
    }

    .header-contacts .language-switch {
        gap:3px;
        min-height:40px;
        margin-left:16px;
        padding:0;
        border:0;
        background:transparent;
        box-shadow:none;
        -webkit-backdrop-filter:none;
        backdrop-filter:none
    }

    .header-contacts .language-switch .language-current,
    .header-contacts .language-switch .language {
        min-width:40px;
        min-height:36px;
        padding:8px;
        font-size:13px
    }

    .header-contacts .language-switch .language-current {
        background:linear-gradient(145deg, #2387ff, #0060ff);
        box-shadow:0 0 16px rgba(0, 102, 255, .7), inset 0 1px 1px rgba(255, 255, 255, .25)
    }
}

@media (max-width:1400px) {
    .header .nav-dropdown summary,
    .header-link {
        padding-inline:12px;
        font-size:14px
    }

    .header .header-phone {
        padding-inline:14px 12px;
        font-size:14px
    }

    .header-socials.desktop-socials {
        gap:13px;
        padding-left:12px
    }

    .desktop-socials .social-link + .social-link:before {
        left:-8px
    }
}

@media (max-width:1320px) {
    .header .nav.container {
        width:calc(100% - 32px)
    }

    .header .nav {
        gap:10px
    }

    .header .brand {
        font-size:21px
    }

    .header .brand-symbol {
        width:40px;
        height:40px;
        margin-right:9px;
        font-size:23px
    }

    .header .nav-dropdown summary,
    .header-link {
        padding-inline:10px;
        font-size:13px
    }

    .header .header-phone {
        font-size:13px
    }

    .header .header-demo {
        padding-inline:16px;
        font-size:14px
    }
}

@media (min-width:1081px) and (max-width:1320px) {
    .header .header-contacts .header-phone {
        gap:7px;
        padding-right:10px;
        font-size:12px
    }

    .header-contacts .header-socials.desktop-socials {
        gap:5px;
        padding-inline:10px
    }

    .header-contacts .language-switch {
        margin-left:10px
    }

    .header-contacts .language-switch .language-current,
    .header-contacts .language-switch .language {
        min-width:32px;
        padding-inline:6px;
        font-size:12px
    }
}

@media (min-width:1081px) and (max-width:1200px) {
    .header-contacts .header-phone > span {
        display:none
    }
}

@media (max-width:1080px) {
    .header .nav {
        height:72px
    }

    .header .nav-end > .language {
        min-height:42px;
        display:inline-flex;
        place-items:stretch;
        padding:3px;
        color:#cfe2ff;
        border-color:rgba(188, 218, 255, .26);
        background:rgba(8, 20, 44, .4)
    }

    .home-page .header.is-over-hero .nav-end > .language {
        color:#cfe2ff;
        border-color:rgba(188, 218, 255, .26);
        background:rgba(8, 20, 44, .4)
    }

    .header .nav-end > .language:before,
    .header .nav-end > .language:after {
        min-width:31px;
        min-height:28px;
        padding:0 7px;
        font-size:12px
    }
}

@media (max-width:600px) {
    .header .nav.container {
        width:calc(100% - 20px)
    }

    .header .brand,
    .home-page .header.is-over-hero .brand {
        font-size:19px
    }

    .header .brand-symbol {
        width:36px;
        height:36px;
        margin-right:8px;
        border-radius:10px;
        font-size:21px
    }

    .header .brand-period {
        font-size:23px
    }

    .header .nav-end {
        gap:7px
    }
}

@media (prefers-reduced-transparency: reduce) {
    .header .desktop-nav,
    .header-contacts,
    .header .header-phone,
    .header .nav-end > .language,
    .header .menu-toggle {
        background:#07152c;
        -webkit-backdrop-filter:none;
        backdrop-filter:none
    }

    .home-page .header.is-over-hero {
        background:rgba(4, 12, 30, .92)
    }
}

@media (prefers-reduced-motion: reduce) {
    .header .header-demo:hover,
    .desktop-socials .social-link:hover,
    .desktop-socials .social-link:focus-visible {
        transform:none
    }
}

.header .language-switch {
    position:relative;
    isolation:isolate
}

.header .language-switch .language-slider {
    position:absolute;
    z-index:0;
    top:var(--language-y, 3px);
    left:0;
    width:var(--language-width, 34px);
    height:var(--language-height, 36px);
    border-radius:999px;
    background:linear-gradient(145deg, #2387ff, #0060ff);
    box-shadow:0 0 16px rgba(0, 102, 255, .6), inset 0 1px 1px rgba(255, 255, 255, .3);
    transform:translateX(var(--language-x, 3px));
    pointer-events:none
}

.header .language-switch :is(.language-current, .language) {
    position:relative;
    z-index:1;
    color:#abc4e4;
    background:transparent;
    box-shadow:none;
    transition:color .18s ease
}

.header .language-switch .is-selected {
    color:#fff
}

.header .language-switch .language:focus-visible {
    outline:2px solid #a4d2ff;
    outline-offset:2px
}

.header .language-switch.is-switching {
    cursor:progress
}

.mobile-nav-icon,
.mobile-nav-arrow {
    flex-shrink:0;
    width:22px;
    height:22px
}

@media (max-width:1080px) {
    html.has-mobile-menu .header:has(.mobile-menu:not([hidden])),
    html.has-mobile-menu .home-page .header.is-over-hero:has(.mobile-menu:not([hidden])) {
        border-bottom-color:rgba(125, 173, 233, .1);
        background:#061222;
        box-shadow:none
    }

    .header:has(.mobile-menu:not([hidden])) .nav.container {
        max-width:480px
    }

    .header .mobile-menu:not([hidden]),
    .home-page .header.is-over-hero .mobile-menu:not([hidden]) {
        position:absolute;
        top:100%;
        left:0;
        right:0;
        display:flex;
        flex-direction:column;
        gap:0;
        height:calc(100dvh - var(--site-header-height, 73px));
        max-height:none;
        padding:8px max(20px, calc((100vw - 448px) / 2)) max(24px, env(safe-area-inset-bottom, 0px));
        border:0;
        border-radius:0;
        background:radial-gradient(ellipse at 50% 100%, #0a254044, transparent 65%), #061222;
        box-shadow:none;
        -webkit-backdrop-filter:none;
        backdrop-filter:none
    }

    .header .mobile-menu .mobile-primary-list {
        display:flex;
        flex-direction:column;
        gap:0;
        padding:0 0 22px;
        border-bottom:1px solid #8fbfff1a
    }

    .header .mobile-menu .mobile-primary-list > .header-link,
    .header .mobile-menu .mobile-primary-list details.mobile-capabilities > summary {
        display:flex;
        align-items:center;
        justify-content:flex-start;
        gap:18px;
        width:100%;
        min-height:62px;
        margin:0;
        padding:15px 14px;
        border:1px solid transparent;
        border-bottom-color:#8fbfff0c;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        color:#dce8f8;
        font-size:15px;
        font-weight:600;
        line-height:1.35;
        text-align:left
    }

    .header .mobile-menu .mobile-primary-list .mobile-nav-icon {
        color:#a9bed8
    }

    .header .mobile-menu .mobile-primary-list .mobile-nav-arrow,
    .header .mobile-menu .mobile-primary-list .nav-chevron {
        width:17px;
        height:17px;
        margin-left:auto;
        color:#7096c5
    }

    .header .mobile-menu .mobile-primary-list > .header-link:is(:hover, .is-active),
    .header .mobile-menu .mobile-primary-list .mobile-capabilities:is([open], .is-current) > summary {
        border-color:#267aff66;
        border-radius:15px;
        background:linear-gradient(115deg, #0c3060, #091d37);
        color:#fff;
        box-shadow:inset 0 1px 0 #7fb9ff0d
    }

    .header .mobile-menu .mobile-primary-list > .header-link.is-active :is(.mobile-nav-icon, .mobile-nav-arrow),
    .header .mobile-menu .mobile-primary-list .mobile-capabilities.is-current .mobile-nav-icon {
        color:#63adff
    }

    .header .mobile-menu .mobile-primary-list .mobile-capability-links {
        grid-template-columns:1fr;
        padding:10px 0 14px 12px
    }

    .header .mobile-menu .mobile-primary-list .mobile-capability-links > a {
        min-height:58px;
        grid-template-columns:38px minmax(0, 1fr);
        padding:8px 12px;
        border-color:#7aa6dc14;
        background:#0d2037;
        font-size:13px
    }

    .header .mobile-menu .mobile-primary-list .mobile-capability-links .mega-art {
        width:38px;
        height:38px
    }

    .header .mobile-menu > .mobile-phone {
        display:flex;
        align-items:center;
        gap:14px;
        flex-shrink:0;
        min-height:88px;
        padding:16px 4px;
        border:0;
        border-radius:0;
        background:transparent
    }

    .header .mobile-phone-icon {
        display:grid;
        place-items:center;
        flex:0 0 48px;
        height:48px;
        border:1px solid #2986ff44;
        border-radius:15px;
        background:radial-gradient(circle at 50% 35%, #176ee2, #0b294b 75%);
        box-shadow:0 5px 18px #006aff1a
    }

    .header .mobile-phone-icon svg {
        width:23px;
        height:23px;
        color:#fff
    }

    .header .mobile-phone-copy {
        display:flex;
        flex-direction:column;
        gap:5px
    }

    .header .mobile-phone-copy strong {
        font-size:15px;
        font-weight:650
    }

    .header .mobile-phone-copy small {
        color:#7e99b9;
        font-size:11px
    }

    .header .mobile-phone > .mobile-nav-arrow {
        width:17px;
        height:17px;
        margin-left:auto;
        color:#7096c5
    }

    .header .mobile-menu > .mobile-socials {
        display:grid;
        grid-template-columns:repeat(5, minmax(0, 1fr));
        gap:12px;
        flex-shrink:0;
        margin:4px 0 28px
    }

    .header .mobile-menu > .mobile-socials .social-link {
        width:100%;
        max-width:58px;
        height:50px;
        justify-self:center;
        border-radius:15px;
        background:#0b1e36
    }

    .header .mobile-menu > .mobile-demo {
        flex-shrink:0;
        width:100%;
        min-height:62px;
        padding:10px 13px 10px 23px;
        border:1px solid #6aabff55;
        border-radius:18px;
        background:linear-gradient(115deg, #227cff, #0755e6);
        box-shadow:0 10px 30px #006aff26, inset 0 1px 0 #ffffff2b
    }

    .header .mobile-menu > .mobile-demo > span {
        display:grid;
        place-items:center;
        width:40px;
        height:40px;
        border-radius:12px;
        background:#0046c94d;
        font-size:23px
    }

    html.has-mobile-menu .callback-launcher {
        visibility:hidden
    }
}

.mobile-menu-backdrop {
    display:none
}

.zone-generated-hero {
    display:none
}

body.has-zone-hero section.zone-hero {
    display:flex;
    min-height:calc(100svh - var(--site-header-height, 78px))
}

.has-zone-hero .zone-focus-title {
    margin:16px 0 24px;
    color:#fff;
    font-size:clamp(38px, 4.5vw, 70px);
    font-weight:750;
    line-height:1.06;
    letter-spacing:-.04em;
    text-shadow:0 4px 35px #0008
}

.has-zone-hero .zone-generated-hero > .container {
    width:min(1320px, calc(100% - 64px));
    padding-bottom:48px
}

.has-zone-hero .zone-details-link {
    margin-top:16px
}

@media (max-width:850px) {
    body.has-zone-hero section.zone-hero {
        min-height:max(600px, calc(100svh - var(--site-header-height, 65px)));
    }

    body.has-zone-hero section.zone-hero > .container {
        padding-top:180px;
    }

    .has-zone-hero .zone-generated-hero > .container {
        width:calc(100% - 40px);
        padding-top:180px;
        padding-bottom:28px;
    }

    .has-zone-hero .zone-focus-title {
        margin:12px 0 18px;
        font-size:clamp(30px, 7vw, 44px);
        text-wrap:balance;
    }

    .has-zone-hero .zone-focus-description {
        font-size:15px;
    }

    .zone-active-dot > .explore-feature-icon {
        width:22px;
        height:22px;
        flex-basis:22px;
    }
}

@media (max-width:1080px) {
    html.has-mobile-menu {
        overflow:hidden;
        overscroll-behavior:none
    }

    .header,
    .home-page .header.is-over-hero,
    .header:has(.mobile-menu:not([hidden])),
    .home-page .header.is-over-hero:has(.mobile-menu:not([hidden])) {
        padding-top:env(safe-area-inset-top, 0px);
        color:#fff;
        border-bottom:1px solid rgba(143, 191, 255, .2);
        background:rgba(5, 16, 35, .88);
        box-shadow:0 8px 28px rgba(0, 8, 24, .2);
        -webkit-backdrop-filter:blur(18px) saturate(140%);
        backdrop-filter:blur(18px) saturate(140%)
    }

    .header .nav.container {
        width:calc(100% - 32px);
        max-width:720px;
        height:72px;
        gap:12px
    }

    .header .brand,
    .home-page .header.is-over-hero .brand {
        min-height:44px;
        flex-shrink:0;
        font-size:21px;
        letter-spacing:-.8px
    }

    .header .brand-symbol {
        width:38px;
        height:38px;
        margin-right:9px;
        border-radius:12px;
        font-size:23px
    }

    .header .nav-end {
        gap:10px;
        margin-left:auto
    }

    .header .language-switch {
        min-height:44px;
        gap:2px;
        padding:3px;
        border-color:rgba(143, 191, 255, .22);
        background:rgba(18, 39, 68, .7)
    }

    .header .language-switch .language,
    .header .language-switch .language-current {
        min-width:34px;
        min-height:36px;
        padding:7px;
        font-size:12px
    }

    .header .menu-toggle,
    .home-page .header.is-over-hero .menu-toggle {
        position:relative;
        display:block;
        flex:0 0 46px;
        width:46px;
        height:46px;
        padding:0;
        border:1px solid rgba(116, 177, 255, .45);
        border-radius:14px;
        background:linear-gradient(145deg, #2179f4, #0856cb);
        box-shadow:0 4px 16px rgba(0, 89, 235, .28), inset 0 1px 1px rgba(255, 255, 255, .2)
    }

    .header .menu-toggle > span,
    .home-page .header.is-over-hero .menu-toggle > span,
    .home-page .header.is-over-hero:has(.mobile-menu:not([hidden])) .menu-toggle > span {
        position:absolute;
        top:17px;
        left:12px;
        width:20px;
        height:2px;
        margin:0;
        border-radius:2px;
        background:#fff;
        transition:transform .2s ease, top .2s ease
    }

    .header .menu-toggle > span:last-child {
        top:25px
    }

    .header .menu-toggle[aria-expanded="true"] > span {
        top:21px;
        transform:rotate(45deg)
    }

    .header .menu-toggle[aria-expanded="true"] > span:last-child {
        transform:rotate(-45deg)
    }

    .mobile-menu-backdrop:not([hidden]) {
        position:fixed;
        inset:0;
        z-index:39;
        display:block;
        width:100%;
        height:100%;
        padding:0;
        border:0;
        border-radius:0;
        background:rgba(0, 7, 20, .6);
        -webkit-backdrop-filter:blur(5px);
        backdrop-filter:blur(5px);
        cursor:pointer
    }

    .header .mobile-menu,
    .home-page .header.is-over-hero .mobile-menu {
        top:calc(100% + 10px);
        left:max(12px, calc((100vw - 720px) / 2));
        right:max(12px, calc((100vw - 720px) / 2));
        max-height:calc(100dvh - var(--site-header-height, 73px) - 24px - env(safe-area-inset-bottom, 0px));
        padding:16px;
        border:1px solid rgba(137, 191, 246, .32);
        border-radius:24px;
        color:#f4f7ff;
        background:linear-gradient(145deg, #102641, #07172d 55%, #0b1e38);
        box-shadow:0 24px 60px rgba(0, 5, 18, .55), inset 0 1px 1px rgba(210, 232, 255, .08);
        overscroll-behavior:contain;
        scrollbar-width:thin;
        scrollbar-color:#31577f transparent
    }

    .header .mobile-capabilities > summary,
    .home-page .header.is-over-hero .mobile-capabilities > summary {
        min-height:56px;
        padding:14px 16px;
        border:1px solid rgba(113, 177, 255, .4);
        border-radius:16px;
        color:#fff;
        background:linear-gradient(115deg, rgba(22, 99, 219, .5), rgba(18, 46, 83, .8));
        font-size:17px;
        font-weight:700
    }

    .header .mobile-capability-links {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:8px;
        padding:12px 0 4px;
        max-height:none;
        overflow:visible
    }

    .header .mobile-capability-links > a {
        grid-template-columns:44px minmax(0, 1fr);
        gap:8px;
        min-height:76px;
        padding:9px;
        border:1px solid rgba(122, 166, 220, .2);
        border-radius:14px;
        color:#e9f2ff;
        background:rgba(6, 18, 37, .5);
        font-size:13px;
        font-weight:600;
        line-height:1.35
    }

    .header .mobile-menu .mobile-capability-links .mega-art {
        width:44px;
        height:44px;
        border:1px solid rgba(160, 198, 239, .16);
        border-radius:10px;
        background:#0b192b url('/assets/images/home/mega-feature-atlas.png') var(--art-x) var(--art-y) / 300% 400%;
        box-shadow:0 3px 8px rgba(0, 0, 0, .2)
    }

    .header .mobile-capabilities .nav-chevron {
        width:18px;
        height:18px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.8
    }

    .header .mobile-capability-links > .mobile-all-features {
        display:flex;
        grid-column:1 / -1;
        justify-content:space-between;
        min-height:48px;
        padding:12px 14px;
        color:#91c1ff;
        background:rgba(31, 84, 153, .2);
        font-size:14px
    }

    .header .mobile-header-links {
        gap:8px;
        padding:12px 0 16px
    }

    .header .mobile-header-links .header-link {
        justify-content:flex-start;
        min-height:48px;
        padding:13px 15px;
        border:1px solid rgba(122, 166, 220, .2);
        border-radius:14px;
        color:#e9f2ff;
        background:rgba(20, 42, 72, .65);
        font-size:15px
    }

    .header .mobile-header-links .header-link.is-active {
        border-color:rgba(115, 177, 255, .4);
        background:rgba(19, 87, 189, .45);
        box-shadow:none
    }

    .header .mobile-menu .mobile-capabilities.is-current > summary {
        border-color:rgba(132, 190, 255, .7);
        background:linear-gradient(160deg, #1f7bff, #0a5bf0);
        box-shadow:0 4px 18px rgba(8, 80, 220, .3), inset 0 1px 0 rgba(255, 255, 255, .26)
    }

    .header .mobile-phone {
        min-height:52px;
        gap:12px;
        border:1px solid rgba(123, 178, 245, .25);
        border-radius:15px;
        color:#f4f8ff;
        background:rgba(16, 39, 69, .8);
        box-shadow:none;
        font-size:16px
    }

    .header .mobile-phone svg {
        width:20px;
        height:20px;
        color:#6baaff
    }

    .header .mobile-socials {
        gap:12px;
        margin:14px 0;
        padding:0;
        border:0
    }

    .header .mobile-socials .social-link {
        width:44px;
        height:44px;
        padding:9px;
        border:1px solid rgba(122, 166, 220, .18);
        border-radius:13px;
        background:rgba(20, 42, 72, .65)
    }

    .header .mobile-socials .social-link img {
        width:26px;
        height:26px
    }

    .header .mobile-demo {
        min-height:54px;
        padding:15px 18px;
        border-radius:16px;
        background:linear-gradient(120deg, #267fff, #0757de);
        box-shadow:0 6px 22px rgba(0, 87, 232, .25), inset 0 1px 1px rgba(255, 255, 255, .2);
        font-size:16px
    }

    .header :is(a, button, summary):focus-visible {
        outline:2px solid #8ac4ff;
        outline-offset:3px
    }
}

@media (max-width:374px) {
    .header .nav.container {
        width:calc(100% - 24px);
        gap:8px
    }

    .header .brand,
    .home-page .header.is-over-hero .brand {
        font-size:18px
    }

    .header .brand-symbol {
        width:34px;
        height:36px;
        margin-right:7px;
        font-size:21px
    }

    .header .nav-end {
        gap:6px
    }

    .header .language-switch .language,
    .header .language-switch .language-current {
        min-width:30px;
        padding-inline:5px
    }

    .header .mobile-menu {
        padding:12px
    }

    .header .mobile-capability-links {
        grid-template-columns:1fr
    }

    .header .mobile-capability-links > a {
        min-height:62px;
        font-size:14px
    }
}

@media (prefers-reduced-motion: reduce) {
    .header .menu-toggle > span,
    .header .nav-chevron {
        transition:none
    }
}

.header .nav-end .language-switch {
    flex-shrink:0;
    gap:0;
    width:92px;
    height:34px;
    min-height:34px;
    padding:3px;
    border:1px solid rgba(169, 193, 226, .24);
    border-radius:999px;
    background:#162236;
    box-shadow:inset 0 1px 2px rgba(0, 0, 0, .2);
    -webkit-backdrop-filter:none;
    backdrop-filter:none
}

.header .nav-end .language-switch :is(.language-current, .language) {
    flex:1;
    min-width:0;
    width:42px;
    height:26px;
    min-height:26px;
    padding:0;
    color:#93a2b9;
    background:transparent;
    box-shadow:none;
    font-size:12px;
    font-weight:750
}

.header .nav-end .language-switch .is-selected {
    color:#fff
}

.header .nav-end .language-switch .language-slider {
    background:linear-gradient(145deg, #2785ff, #0864e7);
    box-shadow:inset 0 1px 1px rgba(255, 255, 255, .18), 0 2px 5px rgba(0, 0, 0, .15)
}

@media (max-width:1080px) {
    .header .nav-end .language-switch {
        width:88px;
        height:44px;
        min-height:44px
    }

    .header .nav-end .language-switch :is(.language-current, .language) {
        height:36px;
        min-height:36px
    }
}

@media (max-width:374px) {
    .header .nav-end .language-switch {
        width:76px
    }
}
.callback-launcher {
    position: fixed;
    z-index: 90;
    right: calc(max(24px, env(safe-area-inset-right)) + var(--callback-viewport-right, 0px));
    bottom: calc(24px + env(safe-area-inset-bottom) + var(--callback-viewport-bottom, 0px));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    min-height: 56px;
    flex-shrink: 0;
    padding: 14px;
    border: 1px solid #ffffff60;
    border-radius: 40px;
    background: #285ee9;
    box-shadow: 0 8px 28px #103c8738, 0 0 0 5px #ffffff85;
    color: #fff;
    font: 650 14px/1.3 Inter, "Segoe UI", Arial, sans-serif;
    cursor: pointer;
    transition: background .2s, transform .2s;
}

.callback-launcher:hover {
    background: #194cd2;
}

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .callback-launcher:hover { transform:translateY(-2px); }
}

.callback-launcher svg {
    width: 25px;
    height: 25px;
    flex-shrink: 0;
}

.callback-launcher > span {
    display: none;
}

body.callback-open {
    overflow: hidden;
}

.callback-open .callback-launcher {
    visibility: hidden;
}

.closing.callback-closing {
    gap: 36px;
}

.callback-closing > div:first-child {
    min-width: 0;
}

.callback-closing-actions {
    display: flex;
    flex: 0 0 235px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

.callback-closing-actions .btn {
    width: 100%;
}

.callback-program-link {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    min-height: 44px;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
}

.callback-program-link:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.callback-program-link span {
    font-size: 20px;
}

:is(.header-demo, .mobile-demo, .callback-program-link, .btn, .home-start-link):disabled {
    cursor: default;
    pointer-events: none;
    font-family: inherit;
}

dialog.callback-dialog {
    position: fixed;
    width: min(490px, calc(100% - 32px));
    max-width: 490px;
    max-height: calc(100dvh - 40px);
    margin: auto;
    padding: 34px;
    border: 1px solid #dce5f3;
    border-radius: 24px;
    background: #fff;
    color: #16243c;
    box-shadow: 0 25px 100px #071b4866;
    overflow-y: auto;
    overscroll-behavior: contain;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.callback-dialog::backdrop {
    background: #0b173cb0;
    backdrop-filter: blur(5px);
}

.callback-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 12px;
    border: 0;
    border-radius: 50%;
    background: #f0f4fb;
    color: #536682;
}

.callback-close:hover {
    background: #e2eafb;
}

.callback-close svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
}

.callback-eyebrow {
    display: block;
    max-width: calc(100% - 25px);
    margin: 6px 0 16px;
    color: #3769ff;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.callback-dialog h2 {
    margin: 0 0 12px;
    font-size: 32px;
    line-height: 1.15;
    letter-spacing: -.035em;
}

.callback-dialog > p {
    margin: 0 0 24px;
    color: #61718a;
    font-size: 14px;
    line-height: 1.6;
}

.callback-form label {
    display: block;
    margin: 16px 0 7px;
    color: #203655;
    font-size: 13px;
    font-weight: 600;
}

.callback-form label > span {
    color: #3769ff;
}

.callback-form label small {
    color: #6a7b92;
    font-size: 12px;
    font-weight: 400;
}

.callback-form input, .callback-form textarea {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid #d4dfed;
    border-radius: 10px;
    background: #f8faff;
    color: #16243c;
    font: 400 16px/1.5 Inter, "Segoe UI", Arial, sans-serif;
}

.callback-form textarea {
    min-height: 100px;
    resize: vertical;
}

.callback-form input:focus, .callback-form textarea:focus {
    border-color: #3769ff;
    outline: 3px solid #3769ff26;
    outline-offset: 1px;
    background: #fff;
}

.callback-form .callback-submit {
    display: flex;
    justify-content: space-between;
    width: 100%;
    min-height: 50px;
    margin-top: 18px;
    border: 0;
    background: #285ee9;
    color: #fff;
}

.callback-form .callback-usage, .callback-form .callback-delivery {
    margin: 10px 0 0;
    color: #64748a;
    font-size: 11px;
    line-height: 1.6;
}

.callback-form .callback-status {
    padding: 13px;
    border-radius: 10px;
    background: #eef5ff;
    color: #254e91;
    font-size: 13px;
    line-height: 1.6;
}

.callback-dialog > .callback-program-link {
    margin-top: 14px;
    color: #285ee9;
}

@media (max-width: 800px) {
    .closing.callback-closing {
        flex-direction: column;
        align-items: stretch;
    }
    .callback-closing-actions {
        flex-basis: auto;
        max-width: 320px;
    }
}

@media (max-width: 520px) {
    .callback-launcher {
        right: calc(max(16px, env(safe-area-inset-right)) + var(--callback-viewport-right, 0px));
        bottom: calc(16px + env(safe-area-inset-bottom) + var(--callback-viewport-bottom, 0px));
    }
    dialog.callback-dialog {
        max-height: calc(100dvh - 24px);
        padding: 27px 22px 20px;
        border-radius: 20px;
    }
    .callback-dialog h2 { font-size: 28px; }
    .callback-closing-actions { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
    .callback-launcher { transition: none; }
}

@media print {
    .callback-launcher, dialog.callback-dialog { display: none !important; }
}

.feature-faq {
    margin-bottom: 60px;
}

.feature-faq > .prose {
    max-width: none;
}

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .stock-page .stock-story-media > img,
    .services-page .detail-story-media img,
    .orders-page .order-story-illustration img,
    .clients-page .client-visual-photo > img,
    .booking-page .booking-visual-photo > img {
        transition:scale 900ms cubic-bezier(.2, .65, .3, 1);
    }

    .stock-page .stock-story:hover .stock-story-media > img,
    .services-page .detail-story:hover .detail-story-media img,
    .orders-page .order-story:hover .order-story-illustration img,
    .clients-page .client-story:hover .client-visual-photo > img,
    .booking-page .booking-story:hover .booking-visual-photo > img {
        scale:1.035;
    }
}
