/*
 * CIRMI 8.0.7 final compatibility layer.
 *
 * This file is intentionally enqueued at priority 999. Contact Form 7 and its
 * image CAPTCHA extension can print late CSS with the same specificity as the
 * theme. These narrow rules establish the final geometry without changing
 * ordinary content, widgets or non-contact forms.
 */

/* Keep a visible, even interval between adjacent CF7 controls. */
.home-contact-form .wpcf7-form-control-wrap:has(
    > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"])
),
.home-contact-form .wpcf7-form-control-wrap:has(> select),
.home-contact-form .wpcf7-form-control-wrap:has(> textarea),
.home-contact-form .wpcf7-form-control-wrap.cirmi-field-wrap,
.pum-container .wpcf7-form-control-wrap:has(
    > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"])
),
.pum-container .wpcf7-form-control-wrap:has(> select),
.pum-container .wpcf7-form-control-wrap:has(> textarea),
.pum-container .wpcf7-form-control-wrap.cirmi-field-wrap {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

/* A validation message belongs to its own field and must not close the gap. */
.home-contact-form .wpcf7-form-control-wrap > .wpcf7-not-valid-tip,
.pum-container .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
    margin-top: 3px !important;
    margin-bottom: 0 !important;
}

/*
 * Once JavaScript has normalised the plugin markup, use a simple block +
 * flex-row model. This avoids grid auto-placement being changed by plugin
 * spans and guarantees a row even when the plugin loads its CSS late.
 */
.captcha-image.cirmi-captcha-ready {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    text-align: center !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
}

.captcha-image.cirmi-captcha-ready
    :where(.cf7ic_instructions, .cf7ic-instructions, .captcha-instructions, .cirmi-captcha-instruction) {
    width: 100% !important;
    margin: 0 0 5px !important;
    display: block !important;
    color: #40566d !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

.captcha-image.cirmi-captcha-ready > .cirmi-captcha-options,
.captcha-image .cirmi-captcha-options {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(12px, 4vw, 24px) !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.captcha-image .cirmi-captcha-options > label.cirmi-captcha-choice {
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    float: none !important;
}

.captcha-image .cirmi-captcha-target {
    color: #00365f !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/*
 * Compact only the submit/CAPTCHA tail. The classes are attached to the live
 * CF7 nodes by cirmi-shell.js, so the geometry survives AJAX replacement and
 * does not depend on one shortcode's paragraph structure.
 */
.cirmi-captcha-form .cirmi-submit-row {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.cirmi-captcha-form .cirmi-submit-row > br,
.cirmi-captcha-form .cirmi-submit-row + br,
.cirmi-captcha-form .cirmi-captcha-row > br {
    display: none !important;
}

.cirmi-captcha-form .cirmi-captcha-row {
    margin: 3px 0 0 !important;
    padding: 0 !important;
    line-height: normal !important;
}

.cirmi-captcha-form .cirmi-captcha-row .captcha-image,
.cirmi-captcha-form > .captcha-image {
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

.home-contact-form.cirmi-has-captcha {
    padding-bottom: 8px !important;
}

.cirmi-captcha-form {
    margin-bottom: 0 !important;
}

.cirmi-captcha-form > :last-child:empty,
.cirmi-captcha-form .wpcf7-response-output:empty {
    display: none !important;
}

.pum-container.cirmi-request-popup .pum-content,
.pum-container:has(.captcha-image) .pum-content {
    padding: 0 !important;
}

.pum-container.cirmi-request-popup .cirmi-captcha-form,
.pum-container:has(.captcha-image) .cirmi-captcha-form {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.pum-container.cirmi-request-popup .captcha-image,
.pum-container:has(.captcha-image) .captcha-image {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/*
 * Premium form treatment: restrained navy depth, warm metallic action and
 * cleaner contrast. The selector scope intentionally excludes ordinary
 * article inputs and third-party widgets.
 */
.home-contact-form.cirmi-has-captcha,
.pum-container.cirmi-request-popup,
.pum-container:has(.captcha-image) {
    border-color: rgba(143, 169, 190, .78) !important;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 204, 0, .055), transparent 32%),
        linear-gradient(145deg, rgba(255, 255, 255, .995), rgba(243, 248, 251, .99)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .98),
        0 18px 42px rgba(0, 35, 66, .14) !important;
}

.home-contact-form .wpcf7-form
    :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), select, textarea),
.pum-container .wpcf7-form
    :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), select, textarea) {
    border-color: #aabfce !important;
    color: #142e45 !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .995), rgba(247, 250, 252, .99)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 1),
        inset 0 -1px 0 rgba(0, 54, 95, .035),
        0 5px 14px rgba(0, 42, 76, .07) !important;
}

.home-contact-form .wpcf7-form
    :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), select, textarea):hover,
.pum-container .wpcf7-form
    :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), select, textarea):hover {
    border-color: #c89a00 !important;
    background: #fff !important;
    box-shadow:
        inset 0 0 0 2px rgba(255, 204, 0, .48),
        inset 0 1px 0 rgba(255, 255, 255, 1),
        0 8px 19px rgba(0, 42, 76, .105) !important;
}

.home-contact-form .wpcf7-form
    :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), select, textarea):focus,
.pum-container .wpcf7-form
    :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), select, textarea):focus {
    border-color: #075d88 !important;
    background: #fff !important;
    box-shadow:
        inset 0 0 0 2px rgba(255, 204, 0, .7),
        0 0 0 3px rgba(7, 93, 136, .11),
        0 10px 22px rgba(0, 42, 76, .11) !important;
    outline: 0 !important;
}

.home-contact-form .wpcf7-form
    :where(button[type="submit"], input[type="submit"]),
.pum-container .wpcf7-form
    :where(button[type="submit"], input[type="submit"]) {
    border-color: #d8a600 !important;
    background:
        linear-gradient(180deg, #ffdc47 0%, #ffc400 72%, #f5b900 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .7),
        0 10px 24px rgba(0, 40, 73, .14),
        0 3px 8px rgba(167, 119, 0, .13) !important;
}

.home-contact-form .wpcf7-form
    :where(button[type="submit"], input[type="submit"]):hover,
.pum-container .wpcf7-form
    :where(button[type="submit"], input[type="submit"]):hover {
    border-color: #002f55 !important;
    color: #fff !important;
    background:
        linear-gradient(180deg, #074d76 0%, #002f55 100%) !important;
    box-shadow:
        0 13px 28px rgba(0, 39, 73, .25),
        0 3px 9px rgba(0, 39, 73, .16) !important;
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .home-contact-form .wpcf7-form-control-wrap:has(
        > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"])
    ),
    .home-contact-form .wpcf7-form-control-wrap:has(> select),
    .home-contact-form .wpcf7-form-control-wrap:has(> textarea),
    .home-contact-form .wpcf7-form-control-wrap.cirmi-field-wrap,
    .pum-container .wpcf7-form-control-wrap:has(
        > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"])
    ),
    .pum-container .wpcf7-form-control-wrap:has(> select),
    .pum-container .wpcf7-form-control-wrap:has(> textarea),
    .pum-container .wpcf7-form-control-wrap.cirmi-field-wrap {
        margin-bottom: 11px !important;
    }

    .captcha-image.cirmi-captcha-ready > .cirmi-captcha-options,
    .captcha-image .cirmi-captcha-options {
        gap: clamp(12px, 4vw, 18px) !important;
    }

    .cirmi-captcha-form .cirmi-captcha-row {
        margin-top: 2px !important;
    }

    .home-contact-form.cirmi-has-captcha {
        padding-bottom: 8px !important;
    }
}

/* ============================================================
   CIRMI 8.0.0 — restrained premium visual system
   ============================================================ */
:root {
    --cirmi-premium-navy: #032f52;
    --cirmi-premium-navy-deep: #041f37;
    --cirmi-premium-navy-soft: #0b466f;
    --cirmi-premium-gold: #ffca0a;
    --cirmi-premium-red: #ef2c33;
    --cirmi-premium-ink: #172e42;
    --cirmi-premium-line: #d8e2ea;
    --cirmi-premium-surface: #f7fafc;
    --cirmi-header-navy: var(--cirmi-premium-navy);
    --cirmi-header-navy-deep: var(--cirmi-premium-navy-deep);
    --cirmi-header-navy-light: var(--cirmi-premium-navy-soft);
    --cirmi-header-red: var(--cirmi-premium-red);
    --cirmi-header-yellow: var(--cirmi-premium-gold);
    --cirmi-header-yellow-hover: #ffda3b;
}

html {
    /* Smooth movement is controlled by cirmi-shell.js without queued delays. */
    scroll-behavior: auto;
}

body {
    color: var(--cirmi-premium-ink);
    background: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

::selection {
    color: var(--cirmi-premium-navy-deep);
    background: rgba(255, 202, 10, .68);
}

:where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(255, 202, 10, .92);
    outline-offset: 3px;
}

.cirmi-site-header__main {
    background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
    box-shadow: inset 0 -1px 0 rgba(3, 47, 82, .08);
}

.cirmi-site-header__utility,
.cirmi-navbar {
    background:
        radial-gradient(circle at 50% -145%, rgba(48, 133, 188, .24), transparent 49%),
        linear-gradient(90deg, #041f37 0%, #063a60 50%, #041f37 100%);
}

.cirmi-navbar {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .06),
        0 8px 22px rgba(3, 31, 55, .10);
}

.inner-banner {
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}

.inner-banner::before {
    background:
        radial-gradient(circle at 50% -60%, rgba(32, 112, 166, .22), transparent 56%),
        linear-gradient(90deg, rgba(4, 31, 55, .94), rgba(5, 51, 83, .88), rgba(4, 31, 55, .94));
}

.inner-banner h2 {
    color: var(--cirmi-premium-gold);
    text-shadow: 0 2px 18px rgba(0, 0, 0, .20);
}

.bread-cumb {
    position: relative;
    isolation: isolate;
    border-top: 1px solid rgba(255, 255, 255, .82);
    border-bottom: 1px solid rgba(3, 47, 82, .11);
    background:
        radial-gradient(circle at 50% -165%, rgba(255, 202, 10, .11), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, .995), rgba(248, 251, 253, .985));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .94),
        0 9px 24px rgba(3, 47, 82, .052);
}

.bread-cumb::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    bottom: -1px;
    width: min(210px, 32vw);
    height: 2px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, rgba(255, 196, 0, .86), transparent);
    pointer-events: none;
}

.bread-cumb ul li a {
    position: relative;
    color: #173c5b;
    transition: color .18s ease, transform .18s ease;
}

.bread-cumb ul li a:hover,
.bread-cumb ul li a:focus-visible {
    color: #0870a7;
    transform: translateY(-1px);
}

.bread-cumb ul li span {
    color: #60758a;
}

@media (min-width: 768px) {
    .bread-cumb .container {
        min-height: 62px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .bread-cumb ul {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0;
        max-width: 100%;
        margin: 0;
        padding: 5px 15px;
        border: 1px solid rgba(151, 174, 193, .30);
        border-radius: 999px;
        background: rgba(255, 255, 255, .72);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .95),
            0 5px 14px rgba(3, 47, 82, .045);
    }

    .bread-cumb ul li {
        display: inline-flex;
        align-items: center;
        min-width: 0;
    }

    .bread-cumb ul li a,
    .bread-cumb ul li span {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        font-size: 16px;
        line-height: 1.35;
    }

    .bread-cumb ul li a::after {
        color: #d7a500;
        margin-left: 12px;
        margin-right: 9px;
    }
}

@media (max-width: 767px) {
    .bread-cumb {
        margin-bottom: 24px;
    }

    .bread-cumb ul {
        padding: 7px 10px;
        border: 1px solid rgba(151, 174, 193, .28);
        border-radius: 12px;
        background: rgba(255, 255, 255, .74);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .95),
            0 5px 14px rgba(3, 47, 82, .04);
    }
}

.our-services .cirmi-service-grid .single-our-service > .img-box {
    border: 1px solid rgba(117, 145, 166, .34);
    border-radius: 13px;
    box-shadow: 0 14px 32px rgba(3, 42, 73, .11);
    transform: translateZ(0);
    transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}

.our-services .cirmi-service-grid .single-our-service:hover > .img-box,
.our-services .cirmi-service-grid .single-our-service:focus-within > .img-box {
    border-color: rgba(201, 153, 0, .62);
    box-shadow: 0 18px 42px rgba(3, 42, 73, .17);
    transform: translateY(-3px);
}

.our-services .cirmi-service-grid .single-our-service h3 {
    color: var(--cirmi-premium-navy-deep);
    letter-spacing: -.012em;
}

.thm-btn {
    border: 1px solid #d7a500;
    border-radius: 7px;
    background: linear-gradient(180deg, #ffda43 0%, var(--cirmi-premium-gold) 72%, #f2b800 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .70),
        0 9px 20px rgba(3, 47, 82, .12);
}

.thm-btn:hover,
.thm-btn:focus-visible {
    border-color: var(--cirmi-premium-navy);
    background: linear-gradient(180deg, #0a4a75 0%, var(--cirmi-premium-navy) 100%);
    box-shadow: 0 13px 28px rgba(3, 47, 82, .22);
    transform: translateY(-1px);
}

footer.footer {
    background-color: #041d31 !important;
    background-image: url("../img/resources/footer-bg.webp") !important;
    background-repeat: no-repeat !important;
    background-position: center bottom !important;
    background-size: cover !important;
}

footer.footer::before {
    background: linear-gradient(
        135deg,
        rgba(3, 24, 42, .83) 0%,
        rgba(3, 42, 68, .76) 54%,
        rgba(2, 27, 47, .84) 100%
    ) !important;
}

footer.footer .footer-widget .title {
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 0 12px !important;
    border: 1px solid rgba(255, 255, 255, .055);
    background-color: rgba(2, 20, 34, .76) !important;
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, 0)),
        url("../img/resources/footer-bg-title.png") !important;
    background-repeat: repeat !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .035),
        0 7px 18px rgba(0, 0, 0, .08);
}

footer.footer .footer-widget .title h2,
footer.footer .footer-widget .title h2 a,
footer.footer .footer-widget .title h2 span,
footer.footer .footer-widget .title h2 * {
    margin: 0 !important;
    color: #ffca0a !important;
    -webkit-text-fill-color: #ffca0a !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .20);
}

.bottom-footer {
    border-top: 1px solid rgba(255, 202, 10, .17);
    background: #031827 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

/*
 * CIRMI 8.0.2: the wordmark remains stable while the shield provides the
 * restrained premium hover response requested for the main brand.
 */
.cirmi-site-header__brand #theme-logo.cirmi-brand-lockup {
    position: relative !important;
    display: block !important;
    aspect-ratio: 756 / 162;
    overflow: visible !important;
}

.cirmi-site-header__brand #theme-logo.cirmi-brand-lockup > img {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
    pointer-events: none;
}

.cirmi-site-header__brand #theme-logo.cirmi-brand-lockup > .cirmi-brand-lockup__wordmark {
    position: relative !important;
    z-index: 1;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
}

.cirmi-site-header__brand #theme-logo.cirmi-brand-lockup > .cirmi-brand-lockup__shield {
    position: absolute !important;
    z-index: 2;
    top: 6.17%;
    left: 12.04%;
    width: 16.4% !important;
    max-width: none !important;
    max-height: none !important;
    transform: translateZ(0) scale(1);
    transform-origin: center;
    filter: saturate(1);
    transition:
        transform .27s cubic-bezier(.2, .72, .28, 1.18),
        filter .27s ease !important;
    will-change: transform, filter;
}

footer.footer .footer-widget.about-widget #fLogo {
    display: block;
    transform: none;
    transition: filter .30s ease !important;
    will-change: filter;
}

footer.footer .footer-widget.about-widget > a {
    display: inline-block;
    overflow: visible;
}

/*
 * CIRMI 8.0.4: footer links retain a calm layout while the interactive
 * response is expressed through colour, weight, lift and restrained glow.
 */
footer.footer .footer-widget.link-widget .links li a,
footer.footer .footer-widget.widget_text .links li a,
footer.footer .footer-widget.widget_text .textwidget > ul > li > a,
footer.footer .footer-widget.widget_text .textwidget a:not(.thm-btn),
footer.footer .footer-widget.widget_nav_menu ul.menu > li > a,
footer.footer .footer-widget.widget_pages > ul > li > a,
footer.footer .footer-widget ul.menu > li > a,
footer.footer .footer-widget ul.links > li > a {
    transform: translateZ(0) scale(1);
    transform-origin: left center;
    transition:
        color .22s ease,
        transform .24s cubic-bezier(.2, .72, .28, 1.12),
        text-shadow .22s ease !important;
    will-change: transform, color;
}

footer.footer .footer-widget.link-widget .links li a i,
footer.footer .footer-widget.link-widget .links li a svg,
footer.footer .footer-widget.widget_text .links li a i,
footer.footer .footer-widget.widget_text .links li a svg,
footer.footer .footer-widget.widget_nav_menu ul.menu > li > a i,
footer.footer .footer-widget.widget_nav_menu ul.menu > li > a svg,
footer.footer .footer-widget.widget_pages > ul > li > a i,
footer.footer .footer-widget.widget_pages > ul > li > a svg {
    display: inline-block;
    color: currentColor;
    transform: translateZ(0) scale(1);
    transform-origin: center;
    transition:
        color .22s ease,
        transform .24s cubic-bezier(.2, .72, .28, 1.14),
        filter .22s ease !important;
}

footer.footer .footer-widget.contact-widget .icon-box i {
    display: inline-block;
    transform: translateZ(0) scale(1);
    transform-origin: center;
    transition:
        color .22s ease,
        transform .24s cubic-bezier(.2, .72, .28, 1.14),
        text-shadow .22s ease !important;
    will-change: transform, color;
}

@media (hover: hover) {
    .cirmi-site-header__brand:hover #theme-logo.cirmi-brand-lockup > .cirmi-brand-lockup__shield {
        transform: translateZ(0) scale(1.11);
        filter:
            brightness(1.045)
            saturate(1.10)
            drop-shadow(0 0 7px rgba(255, 202, 10, .46))
            drop-shadow(0 7px 9px rgba(3, 47, 82, .24)) !important;
    }

    footer.footer .footer-widget.about-widget > a:hover #fLogo {
        transform: none;
        filter:
            brightness(1.075)
            saturate(1.04)
            drop-shadow(0 0 4px rgba(255, 255, 255, .72))
            drop-shadow(0 0 10px rgba(255, 255, 255, .34))
            drop-shadow(0 5px 10px rgba(0, 0, 0, .19)) !important;
    }

    footer.footer .footer-widget.link-widget .links li a:hover,
    footer.footer .footer-widget.widget_text .links li a:hover,
    footer.footer .footer-widget.widget_text .textwidget > ul > li > a:hover,
    footer.footer .footer-widget.widget_text .textwidget a:not(.thm-btn):hover,
    footer.footer .footer-widget.widget_nav_menu ul.menu > li > a:hover,
    footer.footer .footer-widget.widget_pages > ul > li > a:hover,
    footer.footer .footer-widget ul.menu > li > a:hover,
    footer.footer .footer-widget ul.links > li > a:hover {
        color: #ffca0a !important;
        font-weight: 700;
        transform: translate3d(4px, -2px, 0) scale(1.03);
        text-shadow: 0 0 14px rgba(255, 202, 10, .22);
    }

    footer.footer .footer-widget.link-widget .links li a:hover i,
    footer.footer .footer-widget.link-widget .links li a:hover svg,
    footer.footer .footer-widget.widget_text .links li a:hover i,
    footer.footer .footer-widget.widget_text .links li a:hover svg,
    footer.footer .footer-widget.widget_nav_menu ul.menu > li > a:hover i,
    footer.footer .footer-widget.widget_nav_menu ul.menu > li > a:hover svg,
    footer.footer .footer-widget.widget_pages > ul > li > a:hover i,
    footer.footer .footer-widget.widget_pages > ul > li > a:hover svg {
        color: #ffca0a !important;
        transform: translateZ(0) scale(1.16);
        filter: drop-shadow(0 0 6px rgba(255, 202, 10, .26));
    }

    footer.footer .footer-widget.contact-widget li:hover .icon-box i {
        color: #ffca0a !important;
        transform: translateZ(0) scale(1.13);
        text-shadow:
            0 0 9px rgba(255, 202, 10, .34),
            0 5px 12px rgba(0, 0, 0, .18);
    }
}

.cirmi-site-header__brand:focus-visible #theme-logo.cirmi-brand-lockup > .cirmi-brand-lockup__shield {
    transform: translateZ(0) scale(1.11);
    filter:
        brightness(1.045)
        saturate(1.10)
        drop-shadow(0 0 7px rgba(255, 202, 10, .46))
        drop-shadow(0 7px 9px rgba(3, 47, 82, .24)) !important;
}

footer.footer .footer-widget.about-widget > a:focus-visible #fLogo {
    transform: none;
    filter:
        brightness(1.075)
        saturate(1.04)
        drop-shadow(0 0 4px rgba(255, 255, 255, .72))
        drop-shadow(0 0 10px rgba(255, 255, 255, .34))
        drop-shadow(0 5px 10px rgba(0, 0, 0, .19)) !important;
}

footer.footer .footer-widget.link-widget .links li a:focus-visible,
footer.footer .footer-widget.widget_text .links li a:focus-visible,
footer.footer .footer-widget.widget_text .textwidget > ul > li > a:focus-visible,
footer.footer .footer-widget.widget_text .textwidget a:not(.thm-btn):focus-visible,
footer.footer .footer-widget.widget_nav_menu ul.menu > li > a:focus-visible,
footer.footer .footer-widget.widget_pages > ul > li > a:focus-visible,
footer.footer .footer-widget ul.menu > li > a:focus-visible,
footer.footer .footer-widget ul.links > li > a:focus-visible {
    color: #ffca0a !important;
    font-weight: 700;
    transform: translate3d(4px, -2px, 0) scale(1.03);
    text-shadow: 0 0 14px rgba(255, 202, 10, .22);
}

/*
 * Slider controls have their own tactile treatment. The legacy theme applies
 * a gold border to every .thm-btn; inside Revolution Slider that border is
 * deliberately removed so blue and gold actions both remain clean.
 */
.rev_slider_wrapper .thm-btn,
.rev_slider_wrapper .rev-btn,
.rev_slider_wrapper .rs-layer.rev-btn,
.rev_slider_wrapper .tp-caption.rev-btn,
.rev_slider_wrapper .tp-caption .thm-btn,
.rev_slider_wrapper .tp-caption .rev-btn {
    border: 0 !important;
    outline: 0 !important;
    border-radius: 8px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .24),
        inset 0 -3px 0 rgba(0, 0, 0, .14),
        0 9px 20px rgba(2, 31, 53, .24) !important;
    transform: translateZ(0);
    transition:
        transform .22s cubic-bezier(.2, .72, .28, 1.12),
        box-shadow .22s ease,
        filter .22s ease !important;
}

@media (hover: hover) {
    .rev_slider_wrapper .thm-btn:hover,
    .rev_slider_wrapper .rev-btn:hover,
    .rev_slider_wrapper .rs-layer.rev-btn:hover,
    .rev_slider_wrapper .tp-caption.rev-btn:hover,
    .rev_slider_wrapper .tp-caption .thm-btn:hover,
    .rev_slider_wrapper .tp-caption .rev-btn:hover {
        border: 0 !important;
        outline: 0 !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .29),
            inset 0 -3px 0 rgba(0, 0, 0, .13),
            0 14px 28px rgba(2, 31, 53, .30) !important;
        filter: brightness(1.035) saturate(1.035);
        transform: translateY(-2px);
    }
}

.rev_slider_wrapper .thm-btn:focus,
.rev_slider_wrapper .thm-btn:focus-visible,
.rev_slider_wrapper .rev-btn:focus,
.rev_slider_wrapper .rev-btn:focus-visible,
.rev_slider_wrapper .rs-layer.rev-btn:focus,
.rev_slider_wrapper .rs-layer.rev-btn:focus-visible,
.rev_slider_wrapper .tp-caption.rev-btn:focus,
.rev_slider_wrapper .tp-caption.rev-btn:focus-visible,
.rev_slider_wrapper .tp-caption .thm-btn:focus,
.rev_slider_wrapper .tp-caption .thm-btn:focus-visible,
.rev_slider_wrapper .tp-caption .rev-btn:focus,
.rev_slider_wrapper .tp-caption .rev-btn:focus-visible {
    border: 0 !important;
    outline: 0 !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .29),
        inset 0 -3px 0 rgba(0, 0, 0, .13),
        0 14px 28px rgba(2, 31, 53, .30) !important;
    filter: brightness(1.035) saturate(1.035);
    transform: translateY(-2px);
}

.rev_slider_wrapper .thm-btn:active,
.rev_slider_wrapper .rev-btn:active,
.rev_slider_wrapper .rs-layer.rev-btn:active,
.rev_slider_wrapper .tp-caption.rev-btn:active,
.rev_slider_wrapper .tp-caption .thm-btn:active,
.rev_slider_wrapper .tp-caption .rev-btn:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow:
        inset 0 2px 5px rgba(0, 0, 0, .15),
        0 5px 11px rgba(2, 31, 53, .20) !important;
    transform: translateY(0);
}

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

    .our-services .cirmi-service-grid .single-our-service > .img-box,
    .thm-btn,
    .rev_slider_wrapper .rev-btn,
    .cirmi-site-header__brand #theme-logo.cirmi-brand-lockup > .cirmi-brand-lockup__shield,
    footer.footer .footer-widget.about-widget #fLogo,
    footer.footer .footer-widget.link-widget .links li a,
    footer.footer .footer-widget.widget_text .links li a,
    footer.footer .footer-widget.widget_text .textwidget > ul > li > a,
    footer.footer .footer-widget.widget_text .textwidget a:not(.thm-btn),
    footer.footer .footer-widget.widget_nav_menu ul.menu > li > a,
    footer.footer .footer-widget.widget_pages > ul > li > a,
    footer.footer .footer-widget ul.menu > li > a,
    footer.footer .footer-widget ul.links > li > a,
    footer.footer .footer-widget.contact-widget .icon-box i {
        transition: none !important;
    }
}

/* ============================================================
   CIRMI 8.0.5 — footer, breadcrumbs and compact 404 refinements
   ============================================================ */

/*
 * The footer logo keeps its exact geometry. Only light is animated, so the
 * surrounding columns never move when the pointer enters the brand area.
 */
footer.footer .footer-widget.about-widget > a,
footer.footer .footer-widget.about-widget > a:hover,
footer.footer .footer-widget.about-widget > a:focus,
footer.footer .footer-widget.about-widget > a:focus-visible,
footer.footer .footer-widget.about-widget #fLogo,
footer.footer .footer-widget.about-widget > a:hover #fLogo,
footer.footer .footer-widget.about-widget > a:focus-visible #fLogo {
    transform: none !important;
}

/*
 * Analytics informers are images rather than navigation links. Exclude them
 * from the generic footer-link lift and give each service its own restrained
 * glow without changing width, height or scale.
 */
footer.footer .footer-widget.widget_text .textwidget a:has(img) {
    display: inline-block !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: normal !important;
    text-shadow: none !important;
    transform: none !important;
    transition: filter .24s ease !important;
    will-change: filter;
}

footer.footer .footer-widget.widget_text .textwidget a:has(img) img {
    transform: none !important;
    transition: filter .24s ease !important;
    will-change: filter;
}

footer.footer .footer-widget.widget_text .textwidget a:has(img):hover,
footer.footer .footer-widget.widget_text .textwidget a:has(img):focus-visible,
footer.footer .footer-widget.widget_text .textwidget a:has(img):hover img,
footer.footer .footer-widget.widget_text .textwidget a:has(img):focus-visible img {
    transform: none !important;
}

@media (hover: hover) {
    footer.footer .footer-widget.widget_text .textwidget a:has(img):hover img,
    footer.footer .footer-widget.widget_text .textwidget img.cirmi-analytics-badge:hover {
        filter:
            brightness(1.045)
            drop-shadow(0 0 8px rgba(255, 255, 255, .76))
            drop-shadow(0 0 17px rgba(255, 255, 255, .30)) !important;
    }

    footer.footer .footer-widget.widget_text .textwidget img.cirmi-analytics-badge--quality:hover,
    footer.footer .footer-widget.widget_text .textwidget a:has(img.cirmi-analytics-badge--quality):hover img,
    footer.footer .footer-widget.widget_text .textwidget a:has(img[src*="cycounter"]):hover img,
    footer.footer .footer-widget.widget_text .textwidget a:has(img[data-src*="cycounter"]):hover img,
    footer.footer .footer-widget.widget_text .textwidget a:has(img[src*="counter.yadro"]):hover img {
        filter:
            brightness(1.055)
            drop-shadow(0 0 8px rgba(255, 255, 255, .82))
            drop-shadow(0 0 18px rgba(255, 255, 255, .34))
            drop-shadow(0 7px 13px rgba(255, 255, 255, .16)) !important;
    }

    footer.footer .footer-widget.widget_text .textwidget img.cirmi-analytics-badge--metrika:hover,
    footer.footer .footer-widget.widget_text .textwidget a:has(img.cirmi-analytics-badge--metrika):hover img,
    footer.footer .footer-widget.widget_text .textwidget a:has(img[src*="informer.yandex"]):hover img,
    footer.footer .footer-widget.widget_text .textwidget a:has(img[data-src*="informer.yandex"]):hover img,
    footer.footer .footer-widget.widget_text .textwidget a:has(img[src*="mc.yandex"][src*="informer"]):hover img,
    footer.footer .footer-widget.widget_text .textwidget a:has(img[data-src*="mc.yandex"][data-src*="informer"]):hover img,
    footer.footer .footer-widget.widget_text .textwidget a:has(img[alt*="Метрик"]):hover img,
    footer.footer .footer-widget.widget_text .textwidget a:has(img[title*="Метрик"]):hover img {
        filter:
            brightness(1.055)
            saturate(1.06)
            drop-shadow(0 0 8px rgba(255, 202, 10, .82))
            drop-shadow(0 0 18px rgba(255, 202, 10, .34))
            drop-shadow(0 7px 13px rgba(255, 202, 10, .17)) !important;
    }
}

footer.footer .footer-widget.widget_text .textwidget a:has(img):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget img.cirmi-analytics-badge:focus-visible {
    filter:
        brightness(1.045)
        drop-shadow(0 0 8px rgba(255, 255, 255, .76))
        drop-shadow(0 0 17px rgba(255, 255, 255, .30)) !important;
}

footer.footer .footer-widget.widget_text .textwidget img.cirmi-analytics-badge--quality:focus-visible,
footer.footer .footer-widget.widget_text .textwidget a:has(img.cirmi-analytics-badge--quality):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget a:has(img[src*="cycounter"]):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget a:has(img[data-src*="cycounter"]):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget a:has(img[src*="counter.yadro"]):focus-visible img {
    filter:
        brightness(1.055)
        drop-shadow(0 0 8px rgba(255, 255, 255, .82))
        drop-shadow(0 0 18px rgba(255, 255, 255, .34))
        drop-shadow(0 7px 13px rgba(255, 255, 255, .16)) !important;
}

footer.footer .footer-widget.widget_text .textwidget img.cirmi-analytics-badge--metrika:focus-visible,
footer.footer .footer-widget.widget_text .textwidget a:has(img.cirmi-analytics-badge--metrika):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget a:has(img[src*="informer.yandex"]):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget a:has(img[data-src*="informer.yandex"]):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget a:has(img[src*="mc.yandex"][src*="informer"]):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget a:has(img[data-src*="mc.yandex"][data-src*="informer"]):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget a:has(img[alt*="Метрик"]):focus-visible img,
footer.footer .footer-widget.widget_text .textwidget a:has(img[title*="Метрик"]):focus-visible img {
    filter:
        brightness(1.055)
        saturate(1.06)
        drop-shadow(0 0 8px rgba(255, 202, 10, .82))
        drop-shadow(0 0 18px rgba(255, 202, 10, .34))
        drop-shadow(0 7px 13px rgba(255, 202, 10, .17)) !important;
}

/* Quick links are larger and gain a clearly visible synthesized bold weight. */
footer.footer .footer-widget.link-widget .links li a,
footer.footer .footer-widget.widget_text .links li a,
footer.footer .footer-widget.widget_text .textwidget > ul > li > a,
footer.footer .footer-widget.widget_nav_menu ul.menu > li > a,
footer.footer .footer-widget.widget_pages > ul > li > a,
footer.footer .footer-widget ul.menu > li > a,
footer.footer .footer-widget ul.links > li > a {
    font-size: 22px !important;
    font-weight: 400 !important;
    font-synthesis: weight;
}

footer.footer .footer-widget.link-widget .links li a > span,
footer.footer .footer-widget.widget_text .links li a > span,
footer.footer .footer-widget.widget_text .textwidget > ul > li > a > span,
footer.footer .footer-widget.widget_nav_menu ul.menu > li > a > span,
footer.footer .footer-widget.widget_pages > ul > li > a > span,
footer.footer .footer-widget ul.menu > li > a > span,
footer.footer .footer-widget ul.links > li > a > span {
    font-size: inherit !important;
    font-weight: inherit !important;
}

@media (hover: hover) {
    footer.footer .footer-widget.link-widget .links li a:hover,
    footer.footer .footer-widget.widget_text .links li a:hover,
    footer.footer .footer-widget.widget_text .textwidget > ul > li > a:hover,
    footer.footer .footer-widget.widget_nav_menu ul.menu > li > a:hover,
    footer.footer .footer-widget.widget_pages > ul > li > a:hover,
    footer.footer .footer-widget ul.menu > li > a:hover,
    footer.footer .footer-widget ul.links > li > a:hover {
        font-weight: 700 !important;
        font-synthesis: weight;
    }

    footer.footer .footer-widget.link-widget .links li a:hover > span,
    footer.footer .footer-widget.widget_text .links li a:hover > span,
    footer.footer .footer-widget.widget_text .textwidget > ul > li > a:hover > span,
    footer.footer .footer-widget.widget_nav_menu ul.menu > li > a:hover > span,
    footer.footer .footer-widget.widget_pages > ul > li > a:hover > span,
    footer.footer .footer-widget ul.menu > li > a:hover > span,
    footer.footer .footer-widget ul.links > li > a:hover > span {
        font-weight: 700 !important;
    }
}

footer.footer .footer-widget.link-widget .links li a:focus-visible,
footer.footer .footer-widget.widget_text .links li a:focus-visible,
footer.footer .footer-widget.widget_text .textwidget > ul > li > a:focus-visible,
footer.footer .footer-widget.widget_nav_menu ul.menu > li > a:focus-visible,
footer.footer .footer-widget.widget_pages > ul > li > a:focus-visible,
footer.footer .footer-widget ul.menu > li > a:focus-visible,
footer.footer .footer-widget ul.links > li > a:focus-visible {
    font-weight: 700 !important;
    font-synthesis: weight;
}

footer.footer .footer-widget.link-widget .links li a:focus-visible > span,
footer.footer .footer-widget.widget_text .links li a:focus-visible > span,
footer.footer .footer-widget.widget_text .textwidget > ul > li > a:focus-visible > span,
footer.footer .footer-widget.widget_nav_menu ul.menu > li > a:focus-visible > span,
footer.footer .footer-widget.widget_pages > ul > li > a:focus-visible > span,
footer.footer .footer-widget ul.menu > li > a:focus-visible > span,
footer.footer .footer-widget ul.links > li > a:focus-visible > span {
    font-weight: 700 !important;
}

@media (max-width: 991px) {
    footer.footer .footer-widget.link-widget .links li a,
    footer.footer .footer-widget.widget_text .links li a,
    footer.footer .footer-widget.widget_text .textwidget > ul > li > a,
    footer.footer .footer-widget.widget_nav_menu ul.menu > li > a,
    footer.footer .footer-widget.widget_pages > ul > li > a,
    footer.footer .footer-widget ul.menu > li > a,
    footer.footer .footer-widget ul.links > li > a {
        font-size: 20px !important;
    }
}

@media (max-width: 767px) {
    footer.footer .footer-widget.link-widget .links li a,
    footer.footer .footer-widget.widget_text .links li a,
    footer.footer .footer-widget.widget_text .textwidget > ul > li > a,
    footer.footer .footer-widget.widget_nav_menu ul.menu > li > a,
    footer.footer .footer-widget.widget_pages > ul > li > a,
    footer.footer .footer-widget ul.menu > li > a,
    footer.footer .footer-widget ul.links > li > a {
        font-size: 18px !important;
    }
}

/*
 * Long breadcrumb labels may wrap naturally. Each item can shrink inside the
 * flex/grid layout and long unbroken fragments remain contained.
 */
.bread-cumb .container,
.bread-cumb ul,
.bread-cumb ul li {
    min-width: 0;
    max-width: 100%;
}

.bread-cumb ul {
    flex-wrap: wrap !important;
    white-space: normal !important;
}

.bread-cumb ul li,
.bread-cumb ul li a,
.bread-cumb ul li span {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
}

@media (max-width: 767px) {
    .bread-cumb ul > li:first-child > a {
        white-space: nowrap !important;
    }

    .bread-cumb ul > li:not(:first-child) > a,
    .bread-cumb ul > li span {
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
}

/*
 * The 404 card is deliberately compact: a single action, quieter geometry and
 * no decorative gold rule competing with the error code.
 */
.cirmi-404::after {
    width: min(62vw, 650px);
    box-shadow:
        0 0 0 58px rgba(3, 47, 82, .016),
        0 0 0 116px rgba(255, 202, 10, .014);
}

.cirmi-404-box {
    width: min(100%, 600px);
    padding:
        clamp(38px, 4vw, 52px)
        clamp(24px, 4.5vw, 48px)
        clamp(42px, 4vw, 54px);
    border-color: rgba(112, 144, 168, .36);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% -22%, rgba(255, 255, 255, .98), transparent 48%),
        rgba(255, 255, 255, .90);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .98),
        0 28px 68px rgba(3, 36, 63, .13),
        0 8px 22px rgba(3, 36, 63, .065);
}

.cirmi-404-box::before {
    content: none !important;
    display: none !important;
}

.cirmi-404-title {
    max-width: 460px;
    margin-bottom: clamp(24px, 3vw, 32px);
}

.cirmi-404-btn:hover,
.cirmi-404-btn:focus-visible {
    color: #fff !important;
    border-color: #063f68;
    background: linear-gradient(180deg, #0b5a8d 0%, #06466f 64%, #033858 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        inset 0 -2px 0 rgba(0, 0, 0, .12),
        0 20px 38px rgba(3, 47, 82, .25),
        0 7px 14px rgba(3, 47, 82, .16);
    transform: translateY(-2px);
}

@media (max-width: 767px) {
    .cirmi-404::after {
        width: min(88vw, 520px);
    }

    .cirmi-404-box {
        width: min(100%, 520px);
        padding: 34px 18px 38px;
        border-radius: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    footer.footer .footer-widget.widget_text .textwidget a:has(img),
    footer.footer .footer-widget.widget_text .textwidget a:has(img) img {
        transition: none !important;
    }
}
