:root {
    --navy: #061b2d;
    --ink: #101f30;
    --white: #f8fcff;
    --teal: #0defca;
    --aqua: #58ebe2;
    --line: #36536b;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--white); background: var(--navy); font: 15px/1.32 "Segoe UI", Arial, sans-serif; }
h1, h2, h3, p, ul, ol { margin: 0; }
h1, h2, h3 { line-height: 1.12; }
h1, h2 { letter-spacing: -.025em; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid #0eae9b; outline-offset: 3px; }
img { max-width: 100%; display: block; height: auto; }
button, input, select { font: inherit; }
button, summary { cursor: pointer; }
em { color: var(--teal); font-style: normal; }
[hidden] { display: none !important; }
.frame { width: calc(100% - 66px); max-width: 1640px; margin-inline: auto; }
.cs-icon { width: 1.2em; height: 1.2em; flex: 0 0 auto; vertical-align: middle; }
.screen-reader-text { position: absolute; overflow: hidden; width: 1px; height: 1px; margin: -1px; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { position: fixed; inset: 10px auto auto 10px; z-index: 90; clip-path: none; width: auto; height: auto; padding: 10px 16px; background: #fff; color: var(--ink); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 35px; padding: 6px 15px; border-radius: 7px; border: 1px solid transparent; font-weight: 700; line-height: 1.15; text-align: center; }
.button.primary { color: #031e26; background: #0befc9; border-color: #06c9b0; }
.button.outline { color: var(--white); border-color: #9db4c4; background: #071b2d80; }
.button:hover { filter: brightness(1.12); }
.benefits { list-style: none; display: flex; padding: 0; }
.benefits li { display: flex; align-items: center; gap: 13px; }
.benefits li > .cs-icon { font-size: 29px; color: var(--aqua); }
.benefits strong, .benefits span { display: block; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; }
.breadcrumbs a:first-child { color: var(--aqua); }
.breadcrumbs a:hover, .site-footer a:hover { text-decoration: underline; }
.site-header { position: relative; z-index: 5; background: #fff; color: var(--ink); border-bottom: 1px solid #dbe4eb; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: clamp(12px, 1.7vw, 30px); min-height: 54px; }
.site-logo { display: block; flex: 0 0 auto; font-size: 23px; letter-spacing: -.04em; line-height: 1; }
.site-logo strong span { color: var(--teal); }
.site-logo img { width: 100%; }
.site-logo .bundled-logo { mix-blend-mode: lighten; }
.site-header .site-logo .bundled-logo { filter: invert(1) hue-rotate(180deg) brightness(1.12); mix-blend-mode: multiply; }
.site-header .site-logo { width: clamp(180px, 18vw, 300px); margin-right: clamp(0px, 3.35vw, 54px); }
.site-nav { flex: 1; min-width: 0; font-size: 13px; font-weight: 650; }
.site-nav ul { list-style: none; padding: 0; }
.site-nav > ul { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.site-nav > ul > li { position: relative; display: flex; align-items: center; }
.site-nav > ul > li > a { padding-block: 14px; white-space: nowrap; }
.site-nav a:hover { color: #08736c; }
.site-nav > ul > :is(.current-menu-item, .current-menu-ancestor, .current-menu-parent)::after { content: ""; position: absolute; bottom: 2px; left: -4px; right: -4px; height: 3px; background: #08736c; }
.sub-toggle { align-self: stretch; color: inherit; background: transparent; border: 0; padding: 0 0 0 3px; }
.sub-toggle .cs-icon { width: 11px; height: 11px; }
.sub-toggle[aria-expanded="true"] .cs-icon { transform: rotate(180deg); }
.site-nav .sub-menu { display: none; position: absolute; inset: 100% auto auto 0; z-index: 6; width: max-content; min-width: 225px; max-width: 295px; padding: 5px; border: 1px solid #dbe4eb; border-radius: 8px; background: #fff; box-shadow: 0 12px 24px #00132426; }
.site-nav .sub-menu > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; border-radius: 5px; }
.site-nav .sub-menu > li + li { margin-top: 2px; }
.site-nav .sub-menu > li > a { display: flex; align-items: center; min-height: 38px; padding: 8px 10px; overflow-wrap: anywhere; }
.site-nav .sub-menu > li:not(.menu-item-has-children) > a { grid-column: 1 / -1; }
.site-nav .sub-menu > li.menu-item-has-children > a { font-weight: 750; }
.site-nav .sub-menu > li > :is(a:hover, a:focus-visible, button:hover, button:focus-visible, button[aria-expanded="true"]) { border-radius: 5px; background: #eaf6f4; color: #08736c; }
.site-nav .sub-menu .sub-toggle { min-width: 36px; padding-inline: 8px; }
.site-nav .sub-menu .sub-menu { grid-column: 1 / -1; position: static; width: auto; min-width: 0; margin: 1px 4px 6px 12px; padding: 0 0 0 10px; border: 0; border-left: 2px solid #b2ded7; border-radius: 0; box-shadow: none; }
.site-nav .sub-menu .sub-menu a { font-weight: 500; }
.site-nav .sub-toggle[aria-expanded="true"] + .sub-menu { display: block; }
html:not(.cs-js) .site-nav li:is(:hover, :focus-within) > .sub-menu { display: block; }
.menu-toggle { display: none; color: inherit; border: 1px solid #bccbd6; border-radius: 6px; background: transparent; padding: 6px; font-size: 21px; }
.header-actions, .header-phone, .header-wa { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.header-actions { gap: 15px; }
.header-actions > a > .cs-icon { color: #08736c; }
.header-actions .header-client > .cs-icon { color: #052330; }
.header-actions small { display: block; font-size: 10px; }
.header-phone, .header-wa { font-size: 12px; }
.header-client { font-size: 13px; min-height: 34px; padding-inline: 12px; }
.header-services { position: relative; }
.button.header-services-toggle { color: #102638; background: #fff; font-size: 12px; min-height: 34px; padding-inline: 10px; }
.header-services-dropdown { position: absolute; z-index: 7; top: 100%; right: 0; min-width: 100%; padding: 4px; border: 1px solid #dbe4eb; border-radius: 8px; background: #fff; box-shadow: 0 10px 24px #00132426; }
.header-services-dropdown > :is(a, span) { display: block; padding: 10px; border-radius: 5px; color: #102638; font-weight: 650; font-size: 12px; }
.header-services-dropdown a:hover, .header-services-dropdown a:focus-visible { color: #08736c; background: #edf7f6; }
.header-services-dropdown [aria-disabled] { color: #596573; }
.site-footer { background: linear-gradient(105deg, #071a2c, #06182a 62%, #081d31); border-top: 1px solid #1b3448; color: #e5eef5; font-size: 12px; }
.footer-inner { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; gap: 25px; padding-block: 10px; }
.footer-inner > * { min-width: 0; overflow-wrap: anywhere; }
.footer-inner .site-logo { width: 220px; }
.footer-home .frame { width: calc(100% - 96px); }
.footer-home .footer-inner { min-height: 85px; padding-block: 8px; }
.footer-brand .site-logo { max-width: 100%; padding: 8px; border-radius: 7px; background: #fff; color: var(--ink); }
.footer-brand .bundled-logo { filter: invert(1) hue-rotate(180deg) brightness(1.12); mix-blend-mode: multiply; }
.footer-brand p { margin-top: 7px; max-width: 220px; overflow-wrap: break-word; }
.footer-home .footer-contacts { border-left: 1px solid #314658; padding-left: 24px; }
@media (max-width: 1350px) {
    .footer-home .footer-contacts { padding-left: 12px; }
}
.footer-columns ul { list-style: none; padding: 0; }
.footer-columns .footer-menu { display: grid; gap: 5px; }
.footer-columns a, .footer-contacts strong { display: block; }
.footer-menu > li > a { color: white; font-weight: 700; margin-bottom: 2px; }
.footer-menu .sub-menu li + li { margin-top: 2px; }
.footer-menu .sub-menu .sub-menu { padding-left: 10px; }
.footer-contacts { display: flex; flex-direction: column; gap: 5px; }
.footer-contacts > div { display: flex; align-items: center; gap: 9px; }
.footer-contacts .cs-icon { color: #a7f2ef; }
.social { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.social .cs-icon { width: 18px; height: 18px; }
.footer-bottom { display: flex; align-items: center; gap: 7px; min-height: 33px; padding-block: 6px; border-top: 1px solid #314658; font-size: 11px; }
.footer-legal-links { display: flex; flex-wrap: wrap; gap: 5px; }
.footer-legal-links a + a::before { content: "|"; margin-right: 5px; color: #849aab; }
.footer-bottom .footnote { margin-left: auto; }
.footer-bottom .social { margin-left: 10px; }
input:not([type="checkbox"]):not([type="hidden"]), select { width: 100%; min-height: 27px; padding: 4px 9px; border: 1px solid #bdcbd5; border-radius: 6px; background: #fbfdff; color: #102235; }
.consent { display: flex; align-items: center; gap: 7px; font-size: 11px; margin-top: 7px; }
.consent input { margin: 0; accent-color: #0aa590; }
.consent a { text-decoration: underline; }
.form-status { margin-top: 5px; padding: 6px 9px; border: 1px solid #16c6aa; border-radius: 5px; font-size: 12px; }
.listing { min-height: 65vh; padding-block: 35px; max-width: 1340px; }
.listing h1 { margin-bottom: 18px; }
.blog-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)); gap: 17px; }
.blog-list article { border: 1px solid #dce5ed; border-radius: 9px; padding: 14px; }
.blog-list img { width: 100%; aspect-ratio: 2.1; object-fit: cover; border-radius: 5px; margin-bottom: 10px; }
.blog-list h2 { font-size: 21px; margin-bottom: 8px; }
.listing .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 20px; }
.listing .pagination .page-numbers { padding: 6px 10px; border: 1px solid #dce5ed; border-radius: 6px; }
.listing .pagination :is(.current, a:hover) { background: #eaf6f4; color: #08736c; }
@media (max-width: 1350px) {
    .site-header .site-logo { margin-right: 0; }
    .header-inner, .header-actions { gap: 12px; }
    .footer-inner { gap: 14px; }
}
@media (max-width: 1250px) {
    .site-header .header-inner { position: relative; width: calc(100% - 44px); margin-inline: auto; min-height: 61px; padding-left: 0; }
    .site-header .site-logo { margin-right: auto; }
    .cs-js .menu-toggle { display: block; order: 2; }
    .site-nav > ul { flex-wrap: wrap; }
    .cs-js .site-nav { display: none; position: absolute; top: 100%; right: 0; width: min(410px, 100%); max-height: min(65vh, 32rem); overflow-y: auto; overscroll-behavior: contain; background: #fff; border: 1px solid #dbe4eb; border-radius: 8px; box-shadow: 0 15px 30px #00132426; padding: 6px 12px; }
    .cs-js .site-nav.open, .cs-js .site-nav > ul { display: block; }
    .cs-js .site-nav > ul > li { flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid #dbe4eb; }
    .cs-js .site-nav > ul > li > a { padding-block: 9px; }
    .cs-js .sub-toggle { padding-inline: 12px; }
    .cs-js .site-nav > ul > :is(.current-menu-item, .current-menu-ancestor, .current-menu-parent)::after { display: none; }
    .cs-js .site-nav .sub-menu { position: static; width: 100%; min-width: 0; max-width: none; border: 0; box-shadow: none; }
    .cs-js .site-nav .sub-menu .sub-menu { width: auto; }
    .footer-inner .site-logo { width: 175px; }
}
@media (max-width: 780px) {
    .frame, .site-header .header-inner, .site-footer.footer-home .frame { width: calc(100% - 28px); }
    .site-header .header-actions { gap: 5px; padding-left: 0; border: 0; }
    .site-header .header-phone, .site-header .header-wa { display: none; }
    .site-header .header-client { font-size: 11px; min-height: 30px; padding-inline: 8px; }
    .site-header .header-client .cs-icon { display: none; }
    .site-header .header-inner:has(.header-services) .site-logo { flex: 0 1 min(39vw, 190px); width: auto; min-width: 70px; }
    .button.header-services-toggle { min-height: 30px; font-size: 10px; padding-inline: 5px; gap: 3px; }
    .site-header .header-inner { gap: 8px; }
    .site-header .site-logo { width: min(48vw, 230px); }
    .site-header .menu-toggle { font-size: 17px; }
    .site-footer .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 14px; }
    .footer-columns { grid-column: 1 / -1; }
    .footer-inner :is(.footer-text, .footer-columns):empty { display: none; }
    .site-footer .footer-contacts { border: 0; padding: 0; }
    .footer-bottom { flex-wrap: wrap; gap: 3px 7px; }
    .footer-bottom .footnote, .footer-bottom .social { margin-left: 0; }
}
@media (max-width: 480px) {
    .site-footer .footer-inner { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
