@charset "windows-1251";

/* ================================================================
   TAXC CORE DESIGN TOKENS
   Main brand colors and principal layout dimensions are defined here.
   Change the visual identity in this block before editing components.
   Keep these comments in ASCII so the Windows-1251 source is portable.
   ================================================================ */
:root {
    /* Primary brand blue used for navigation, links, borders and CTAs. */
    --taxc-blue: #0002bf;

    /* Link-state colors. Verify contrast after changing either value. */
    --taxc-link: #0002bf;
    --taxc-visited: #0066ff;

    /* Neutral palette for headings, panels, borders and supporting text. */
    --taxc-gray: #676767;
    --taxc-light-gray: #f1f2f2;
    --taxc-border: #d2d5d7;

    /* Desktop canvas and three-column geometry. */
    --page-width: min(100%, 1440px);
    --page-side-padding: 60px;
    --layout-gap: 24px;
    --left-sidebar: 300px;
    --right-sidebar: 240px;
    --article-width: 720px;
    --paper-shadow: 0 0 18px rgba(0, 0, 0, .14);

    /* Sticky positioning: 32px navigation plus a 30px visual clearance. */
    --desktop-nav-height: 32px;
    --sidebar-sticky-gap: 30px;
    --sidebar-sticky-top: calc(var(--desktop-nav-height) + var(--sidebar-sticky-gap));
}

/* GLOBAL RESET AND PAGE CANVAS */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    background: #e5e5e5;
    color: #808080;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
img { display: block; max-width: 100%; height: auto; }
a { color: gray; text-decoration: none; }
a:link { color: var(--taxc-link); }
a:visited { color: var(--taxc-visited); }
a:hover, a:focus-visible { text-decoration: underline; }

.skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 2000;
    transform: translateY(-150%);
    padding: 8px 12px;
    background: #fff;
    border: 2px solid var(--taxc-blue);
    color: var(--taxc-blue);
}
.skip-link:focus { transform: translateY(0); }

.site {
    width: var(--page-width);
    min-height: 100vh;
    margin: 0 auto;
    background: #fff;
    box-shadow: var(--paper-shadow);
}

/* DESKTOP HEADER: brand tools, two promotional buttons and phone area. */
.site-header {
    min-height: 72px;
    display: grid;
    grid-template-columns: 320px minmax(360px, 1fr) 240px;
    align-items: center;
    padding: 0 var(--page-side-padding);
    background: #f3f3f3 url("img/topback.gif") repeat-x;
}
.brand-tools { min-width: 0; display: flex; align-items: center; gap: 14px; padding: 5px 0; }
.brand-logo { flex: 0 0 auto; }
.header-tools { display: grid; grid-template-columns: repeat(2, auto); align-items: center; justify-items: center; gap: 4px 10px; }
.header-tools a { display: block; }
.header-promos { min-width: 0; display: flex; justify-content: center; align-items: center; gap: 24px; padding: 5px 12px; }
.header-promos a { min-width: 0; }
.header-promos img { width: min(300px, 100%); }
.header-phone { display: flex; justify-content: flex-end; align-items: center; overflow: hidden; }
.header-phone img { flex: 0 0 auto; }

/* PRIMARY NAVIGATION: sticky 32px GIF-textured bar on desktop. */
.primary-nav {
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: 32px;
    background-color: var(--taxc-blue);
    background-image: url("images/bg_bb.gif");
    background-repeat: repeat-x;
    background-position: left top;
    background-size: auto 100%;
}
.nav-toggle { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hamburger { display: none; }
.nav-list, .footer-nav {
    min-height: 32px;
    display: grid;
    grid-template-columns: repeat(9, 100px);
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--page-side-padding);
}
.nav-list a, .footer-nav a { display: block; width: 100px; min-width: 100px; line-height: 0; }
.nav-list a span, .footer-nav a span { display: none; }
.nav-list img, .footer-nav img { width: 100px; height: 25px; }

/* BASE THREE-COLUMN LAYOUT: 300px left, flexible main, 240px right. */
.content-grid {
    display: grid;
    grid-template-columns: var(--left-sidebar) minmax(0, 1fr) var(--right-sidebar);
    grid-template-areas: "left heading heading"
                         "left main right";
    column-gap: var(--layout-gap);
    row-gap: 18px;
    align-items: stretch;
    padding: 16px var(--page-side-padding) 28px;
    background: #fff;
}
.sidebar-left { grid-area: left; }
.main-content { grid-area: main; min-width: 0; padding-top: 0; }
.sidebar-right { grid-area: right; }
.content-heading {
    grid-area: heading;
    min-width: 0;
    align-self: start;
    padding-top: 5px;
    border-bottom: 1px solid #00009F;
}
.sidebar { min-width: 0; align-self: stretch; background: #fff; }
/* DESKTOP SIDEBARS: sticky position is 30px below the navigation bar. */
.left-sticky-tools,
.right-sticky-tools {
    position: sticky;
    top: var(--sidebar-sticky-top);
    z-index: 20;
    width: 100%;
    max-height: none;
    overflow: visible;
    align-self: start;
}

.left-sticky-tools > .sidebar-wide-link {
    margin: 0;
}

.sidebar-contact-cta {
    margin: 8px 0 0;
}

.sidebar-contact-button {
    min-height: 38px;
    padding: 7px 12px;
    font-size: 14px;
}

.sidebar-hero, .sidebar-wide-link img, .sidebar-image-links img { width: 100%; }
.sidebar-wide-link { display: block; }
.sidebar-panel { margin-top: 0; background: #fff url("img/taxcback.gif") repeat; }
.sidebar-heading { display: flex; align-items: center; min-height: 46px; background: #fff; }
.sidebar-heading img { flex: 0 0 41px; margin-left: 4px; }
.sidebar-title {
    color: var(--taxc-gray);
    font-size: 16px;
    font-weight: bold;
    line-height: 1.25;
    margin: 6px 0;
}
.sidebar-heading .sidebar-title { padding-right: 4px; }
.sidebar-image-links { padding-top: 2px; }
.sidebar-image-links a, .graphic-links a { display: block; line-height: 0; }
.sidebar-section { margin: 0 0 10px; }
.ready-companies .sidebar-title { margin-top: 10px; }
.company-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; gap: 3px; text-align: center; }
.company-grid a { min-width: 0; display: grid; justify-items: center; gap: 2px; font-size: 11px; }
.company-grid img { width: 34px; height: 34px; object-fit: contain; }
.company-grid strong, .company-grid span { display: block; white-space: nowrap; }
.company-grid span { font-style: italic; font-weight: bold; }
.graphic-links img { width: 100%; }
.graphic-links .sidebar-title { margin: 4px 0 5px; }
.section-divider { margin-top: 5px; }

/* ARTICLE TYPOGRAPHY AND READING WIDTH */
.taxc-article {
    width: 100%;
    max-width: var(--article-width);
    margin: 0 auto;
    color: #333;
    font-size: 15px;
    line-height: 1.24;
    text-align: justify;
}
.taxc-article h1, .content-heading h1 { color: #5f6468; font-size: 24.3px; line-height: .90; margin: 12px 0 6px; text-align: left; }
.taxc-article h2 { color: #676767; font-size: 19px; line-height: .975; margin: 24px 0 8px; text-align: left; }
.taxc-article h3 { color: #7c8083; font-size: 16px; line-height: 1.35; margin: 18px 0 6px; text-align: left; }
.taxc-article p { margin: 0 0 13px; }
.taxc-article ul { margin: 6px 0 16px 22px; padding: 0; text-align: left; }
.taxc-article li { margin: 0 0 7px; }
.taxc-lead { color: #4f5356; font-size: 16px; }
.taxc-updated { margin-bottom: 16px !important; color: #8e9295; font-size: 11px; text-align: left; }
.taxc-summary { margin: 14px 0 20px; padding: 12px 14px; background: var(--taxc-light-gray); border-left: 4px solid #8e9295; text-align: left; }

/* RESPONSIVE COMPARISON TABLE */
.compare-module { container-type: inline-size; margin: 10px 0 0; }
.taxc-compare { width: 100%; min-width: 0; border-collapse: collapse; font-size: 13px; line-height: 1.4; text-align: left; }
.taxc-compare caption { margin-bottom: 7px; color: #676767; font-size: 13px; font-weight: bold; text-align: left; }
.taxc-compare th, .taxc-compare td { padding: 8px; border: 1px solid #d6d8d9; vertical-align: top; }
.taxc-compare thead th { background: #777c80; color: #fff; }
.taxc-compare tbody th { width: 24%; background: #eee; color: #555; }
.taxc-compare td { background: #f7f7f7; }

/* PRIMARY ARTICLE CALL TO ACTION */
.article-cta { margin: 16px 0 22px; }
.article-cta__button {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 7px 18px;
    border: 1px solid var(--taxc-blue);
    border-radius: 0;
    background: var(--taxc-blue);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease;
}
.article-cta__button:link, .article-cta__button:visited { color: #fff; }
.article-cta__button:hover, .article-cta__button:focus-visible { background: #fff; color: var(--taxc-blue); text-decoration: underline; text-underline-offset: 3px; }

.taxc-conclusion { margin: 22px 0 16px; padding: 14px 16px; background: #eceeef; border: 1px solid var(--taxc-border); text-align: left; }
.taxc-conclusion h2 { margin-top: 0; }


/* FOOTER: repeated graphical navigation plus legal information. */
.site-footer { margin: 0; background: #fff; }
.footer-nav {
    background-color: var(--taxc-blue);
    background-image: url("images/bg_bb.gif");
    background-repeat: repeat-x;
    background-position: left top;
    background-size: auto 100%;
}
.footer-minimal {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 var(--page-side-padding);
    border-top: 1px solid #e2e2e2;
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1.45;
    white-space: nowrap;
}
.footer-copyright, .footer-legal-links a { color: #7d7d7d !important; text-decoration: none; transition: color .18s ease; }
.footer-legal-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: nowrap; gap: 22px; margin-left: auto; }
.footer-copyright:hover, .footer-copyright:focus-visible, .footer-legal-links a:hover, .footer-legal-links a:focus-visible { color: var(--taxc-blue) !important; text-decoration: underline; text-underline-offset: 3px; }

/* FOOTER TEXT SCALE MATCHES TAXC SOURCES */
.site-footer,
.footer-nav,
.footer-nav a,
.footer-nav img,
.footer-minimal,
.footer-copyright,
.footer-legal-links,
.footer-legal-links a {
    font-size: 11px;
    line-height: 1.45;
}

/* Keep the graphical button geometry unchanged while sizing fallback/alt text. */
.footer-nav a {
    line-height: 1.45;
}
/* END FOOTER TEXT SCALE MATCHES TAXC SOURCES */

/* INTERMEDIATE DESKTOP BREAKPOINT: compact sidebars and navigation buttons. */
@media (max-width: 1240px) and (min-width: 1181px) {
    :root { --page-side-padding: 36px; --left-sidebar: 260px; --right-sidebar: 220px; --layout-gap: 20px; --article-width: 700px; }
    .site-header { grid-template-columns: 285px minmax(300px, 1fr) 220px; }
    .header-promos { gap: 10px; }
    .sidebar-title { font-size: 14px; }
    .company-grid { gap: 1px; }
    .company-grid a { font-size: 10px; }
    .nav-list, .footer-nav { grid-template-columns: repeat(9, 92px); }
    .nav-list a, .footer-nav a, .nav-list img, .footer-nav img { width: 92px; min-width: 92px; }
}

/* TABLET / SMALL DESKTOP BREAKPOINT: article row above both sidebars. */
@media (max-width: 1180px) {
    :root { --page-side-padding: 24px; --article-width: 720px; }
    .site-header { grid-template-columns: 280px 1fr; }
    .header-promos { justify-content: flex-end; }
    .header-promos a:nth-child(2), .header-phone { display: none; }
    .content-grid {
        grid-template-columns: 300px 240px;
        grid-template-areas: "heading heading" "main main" "left right";
        justify-content: center;
        row-gap: 18px;
    }
    .left-sticky-tools,
    .right-sticky-tools {
        position: static;
        top: auto;
        z-index: auto;
        max-height: none;
        overflow: visible;
    }
    .sidebar-left { width: 300px; }
    .sidebar-right { width: 240px; }
    .nav-list, .footer-nav { grid-template-columns: repeat(9, 88px); }
    .nav-list a, .footer-nav a, .nav-list img, .footer-nav img { width: 88px; min-width: 88px; }
    .footer-minimal { white-space: normal; }
    .footer-legal-links { flex-wrap: wrap; gap: 10px 18px; }
}


/* DESKTOP CONTACT ACCORDION */
@media (min-width: 901px) {
    .desktop-contact-rail {
        position: fixed;
        right: 10px;
        bottom: 10px;
        z-index: 1400;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .desktop-contact-items {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transform: translateY(12px);
        pointer-events: none;
        transition:
            max-height .42s cubic-bezier(.2, .75, .25, 1),
            opacity .24s ease,
            transform .38s cubic-bezier(.2, .75, .25, 1);
    }

    .desktop-contact-rail.is-expanded .desktop-contact-items {
        max-height: 290px;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .desktop-contact-link,
    .desktop-contact-toggle {
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 1px solid var(--taxc-blue);
        border-radius: 50%;
        background: rgba(255, 255, 255, .68);
        color: var(--taxc-blue) !important;
        line-height: 0;
        text-decoration: none;
        box-shadow: none;
        -webkit-backdrop-filter: blur(3px);
        backdrop-filter: blur(3px);
        transition:
            color .16s ease,
            background-color .16s ease,
            border-color .16s ease,
            transform .16s ease;
    }

    .desktop-contact-toggle {
        appearance: none;
        cursor: pointer;
    }

    .desktop-contact-link:link,
    .desktop-contact-link:visited {
        color: var(--taxc-blue) !important;
    }

    .desktop-contact-link:hover,
    .desktop-contact-link:focus-visible,
    .desktop-contact-toggle:hover,
    .desktop-contact-toggle:focus-visible {
        border-color: var(--taxc-blue);
        background: var(--taxc-blue);
        color: #fff !important;
        text-decoration: none;
        outline: none;
        transform: translateY(-1px);
    }

    .desktop-contact-link .mobile-action-icon,
    .desktop-contact-toggle-icon {
        width: 20px;
        height: 20px;
        display: block;
        overflow: visible;
        stroke-width: 1.45;
    }

    .desktop-contact-link {
        opacity: 0;
        transform: translateY(10px) scale(.94);
        transition:
            opacity .2s ease,
            transform .28s cubic-bezier(.2, .75, .25, 1),
            color .16s ease,
            background-color .16s ease,
            border-color .16s ease;
    }

    .desktop-contact-rail.is-expanded .desktop-contact-link {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

    /* Accordion opens from the bottom upward: phone first, WhatsApp last. */
    .desktop-contact-rail.is-expanded .desktop-contact-link:nth-child(6) { transition-delay: 0ms; }
    .desktop-contact-rail.is-expanded .desktop-contact-link:nth-child(5) { transition-delay: 35ms; }
    .desktop-contact-rail.is-expanded .desktop-contact-link:nth-child(4) { transition-delay: 70ms; }
    .desktop-contact-rail.is-expanded .desktop-contact-link:nth-child(3) { transition-delay: 105ms; }
    .desktop-contact-rail.is-expanded .desktop-contact-link:nth-child(2) { transition-delay: 140ms; }
    .desktop-contact-rail.is-expanded .desktop-contact-link:nth-child(1) { transition-delay: 175ms; }

    .desktop-contact-toggle-icon {
        transition: transform .3s cubic-bezier(.2, .75, .25, 1);
    }

    .desktop-contact-rail.is-expanded .desktop-contact-toggle-icon {
        transform: rotate(-8deg);
    }
}

@media (prefers-reduced-motion: reduce) and (min-width: 901px) {
    .desktop-contact-items,
    .desktop-contact-link,
    .desktop-contact-toggle-icon {
        transition: none !important;
    }
}
/* END DESKTOP CONTACT ACCORDION */

@media (max-width: 900px) {
    :root { --page-side-padding: 14px; }
    .site { box-shadow: none; }
    .site-header { grid-template-columns: 1fr auto; min-height: 58px; padding: 0 var(--page-side-padding); }
    .brand-tools { padding-left: 0; }
    .header-promos { padding-right: 0; }
    .header-promos img { max-width: 250px; }
    .hamburger { min-height: 46px; display: flex; align-items: center; gap: 12px; padding: 8px var(--page-side-padding); color: #fff; cursor: pointer; font-size: 15px; font-weight: bold; }
    .hamburger-lines, .hamburger-lines::before, .hamburger-lines::after { display: block; width: 27px; height: 3px; background: #fff; transition: transform .2s ease, opacity .2s ease; }
    .hamburger-lines { position: relative; }
    .hamburger-lines::before, .hamburger-lines::after { position: absolute; left: 0; content: ""; }
    .hamburger-lines::before { top: -8px; }
    .hamburger-lines::after { top: 8px; }
    .nav-list { display: none; align-items: stretch; padding: 0; background: #fff; border: 1px solid #b8b8b8; border-top: 0; }
    .nav-list a { width: auto; min-width: 0; display: block; padding: 11px 16px; border-bottom: 1px solid #e2e2e2; color: var(--taxc-blue); font-size: 15px; line-height: 1.2; }
    .nav-list a:last-child { border-bottom: 0; }
    .nav-list a img { display: none; }
    .nav-list a span { display: block; }
    .nav-toggle:checked + .hamburger .hamburger-lines { background: transparent; }
    .nav-toggle:checked + .hamburger .hamburger-lines::before { top: 0; transform: rotate(45deg); }
    .nav-toggle:checked + .hamburger .hamburger-lines::after { top: 0; transform: rotate(-45deg); }
    .nav-toggle:checked ~ .nav-list { display: flex; flex-direction: column; }
    .content-grid { padding: 0 var(--page-side-padding) 20px; }
    .footer-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 3px 8px; padding: 6px var(--page-side-padding); }
    .footer-nav a, .footer-nav img { width: 100px; min-width: 100px; }
}

@container (max-width: 620px) {
    .taxc-compare, .taxc-compare tbody, .taxc-compare tr, .taxc-compare th, .taxc-compare td { display: block; width: 100%; }
    .taxc-compare thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .taxc-compare tbody { display: grid; gap: 12px; }
    .taxc-compare tbody tr { border: 1px solid #d6d8d9; background: #fff; }
    .taxc-compare tbody th { width: 100%; padding: 10px 12px; border: 0; background: #777c80; color: #fff; font-size: 15px; }
    .taxc-compare tbody td { display: grid; grid-template-columns: minmax(120px, 38%) minmax(0, 1fr); gap: 10px; padding: 10px 12px; border: 0; border-top: 1px solid #e1e1e1; background: #fff; }
    .taxc-compare tbody td::before { content: attr(data-label); color: #676767; font-size: 12px; font-weight: bold; }
}

/* SMARTPHONE BREAKPOINT: single-column reading layout. */
@media (max-width: 680px) {
    :root { --page-side-padding: 12px; }
    .content-heading { padding-top: 0; }
    .site-header { grid-template-columns: 1fr; }
    .brand-tools { justify-content: space-between; }
    .header-promos { display: none; }
    .content-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "main" "left" "right"; row-gap: 18px; }
    .sidebar-left, .sidebar-right { width: min(100%, 300px); max-width: 300px; justify-self: center; }
    .taxc-article { max-width: none; font-size: 16px; line-height: 1.422; text-align: left; }
    .taxc-article h1, .content-heading h1 { font-size: 24px; line-height: .96; }
    .taxc-article h2 { font-size: 20px; line-height: 1.04; }
    .taxc-article h3 { font-size: 17px; }
    .taxc-article ul { margin-left: 20px; }
    .taxc-summary, .taxc-conclusion { margin-left: -4px; margin-right: -4px; }
    .article-cta__button { min-height: 44px; padding: 10px 14px; font-size: 15px; }
    /* Fallback for browsers without container queries. */
    .taxc-compare, .taxc-compare tbody, .taxc-compare tr, .taxc-compare th, .taxc-compare td { display: block; width: 100%; }
    .taxc-compare thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .taxc-compare tbody { display: grid; gap: 12px; }
    .taxc-compare tbody tr { border: 1px solid #d6d8d9; background: #fff; }
    .taxc-compare tbody th { width: 100%; padding: 10px 12px; border: 0; background: #777c80; color: #fff; font-size: 15px; }
    .taxc-compare tbody td { display: grid; grid-template-columns: minmax(112px, 38%) minmax(0, 1fr); gap: 10px; padding: 10px 12px; border: 0; border-top: 1px solid #e1e1e1; background: #fff; }
    .taxc-compare tbody td::before { content: attr(data-label); color: #676767; font-size: 12px; font-weight: bold; }
    .footer-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 100px));
        justify-content: space-between;
        column-gap: 0;
        row-gap: 6px;
        padding: 8px var(--page-side-padding);
    }
    .footer-minimal { min-height: 0; flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 14px; padding-bottom: 14px; white-space: normal; }
    .footer-legal-links { justify-content: flex-start; margin-left: 0; flex-wrap: wrap; gap: 8px 16px; }
}

@media (max-width: 380px) {
    :root { --page-side-padding: 9px; }
    .brand-tools { gap: 6px; }
    .header-tools { gap: 3px 6px; }
    .brand-logo img { width: 115px; }
    .taxc-article h1, .content-heading h1 { font-size: 22px; line-height: .96; }
    .taxc-compare tbody td { grid-template-columns: 1fr; gap: 5px; }
    .footer-legal-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
}



/* CONTACT NAVIGATION: MOBILE TOP BAR + DESKTOP RIGHT RAIL */
.mobile-quickbar,
.mobile-quick-link,
.mobile-menu-icon {
    display: none;
}

@media (max-width: 900px) {
    :root {
        --mobile-nav-height: 32px;
        --mobile-icon-size: 19px;
    }

    .desktop-contact-rail {
        display: none;
    }

    .primary-nav {
        position: sticky;
        top: 0;
        z-index: 1500;
        width: 100%;
        min-height: var(--mobile-nav-height);
        display: grid;
        grid-template-columns: minmax(76px, auto) minmax(0, 1fr);
        align-items: center;
        gap: 0;
        padding: 0 8px;
        background-color: var(--taxc-blue);
        background-image: url("images/bg_bb.gif");
        background-repeat: repeat-x;
        background-position: left top;
        background-size: auto 100%;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .16);
    }

    .hamburger {
        min-width: 76px;
        height: var(--mobile-nav-height);
        min-height: var(--mobile-nav-height);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 7px;
        padding: 0 5px;
        border: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
        line-height: 1;
    }

    .hamburger-text {
        display: block;
        color: #fff;
        font-size: 12px;
        font-weight: bold;
        line-height: 1;
    }

    .mobile-menu-icon,
    .mobile-action-icon {
        width: var(--mobile-icon-size);
        height: var(--mobile-icon-size);
        display: block;
        flex: 0 0 auto;
        overflow: visible;
    }

    .mobile-menu-icon-close {
        display: none;
    }

    .nav-toggle:checked + .hamburger .mobile-menu-icon-open {
        display: none;
    }

    .nav-toggle:checked + .hamburger .mobile-menu-icon-close {
        display: block;
    }

    .mobile-quickbar {
        min-width: 0;
        height: var(--mobile-nav-height);
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        align-items: center;
        justify-items: center;
        gap: 0;
    }

    .mobile-quick-link {
        width: var(--mobile-nav-height);
        height: var(--mobile-nav-height);
        display: flex;
        align-items: center;
        justify-content: center;
        justify-self: center;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #fff !important;
        line-height: 0;
        text-decoration: none;
        transition: background-color .16s ease, opacity .16s ease;
    }

    .mobile-quick-link:link,
    .mobile-quick-link:visited {
        color: #fff !important;
    }

    .mobile-quick-link:hover,
    .mobile-quick-link:focus-visible,
    .hamburger:hover,
    .hamburger:focus-visible {
        background: rgba(255, 255, 255, .12);
        color: #fff !important;
        text-decoration: none;
        outline: none;
    }

    .nav-list {
        grid-column: 1 / -1;
        width: calc(100% + 16px);
        margin: 0 -8px;
        position: static;
        max-height: min(70vh, 540px);
        overflow-y: auto;
        padding: 0;
        border: 0;
        border-top: 1px solid #b8b8b8;
        background: #fff;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .14);
    }

    /* Mobile menu visibility hardening: works for RU <span> labels and EN text links. */
    .hamburger-text {
        color: #fff !important;
        -webkit-text-fill-color: #fff;
        opacity: 1;
        visibility: visible;
    }

    .nav-list > a,
    .nav-list > a:link,
    .nav-list > a:visited {
        color: var(--taxc-blue) !important;
        -webkit-text-fill-color: var(--taxc-blue);
        opacity: 1;
        visibility: visible;
    }

    .nav-list > a > span {
        display: block !important;
        color: inherit !important;
        -webkit-text-fill-color: currentColor;
        opacity: 1;
        visibility: visible;
    }

    .nav-toggle:checked ~ .nav-list {
        display: flex !important;
        flex-direction: column;
    }

    /* Restore the initial successful graphical footer navigation. */
    .footer-nav {
        background-color: var(--taxc-blue);
        background-image: url("images/bg_bb.gif");
        background-repeat: repeat-x;
        background-position: left top;
        background-size: auto 100%;
    }
}

@media (max-width: 340px) {
    :root {
        --mobile-icon-size: 17px;
    }

    .primary-nav {
        grid-template-columns: minmax(68px, auto) minmax(0, 1fr);
        padding-left: 5px;
        padding-right: 5px;
    }

    .hamburger {
        min-width: 68px;
        gap: 5px;
        padding-left: 3px;
        padding-right: 3px;
    }

    .hamburger-text {
        font-size: 11px;
    }

    .nav-list {
        width: calc(100% + 10px);
        margin-left: -5px;
        margin-right: -5px;
    }
}
/* END CONTACT NAVIGATION */

/* DESKTOP GRAPHIC BUTTON HOVER EFFECTS — SAFE */
@media (min-width: 901px) {
    /*
     * Only clickable graphic elements are transformed. Layout dimensions are
     * untouched because transform does not participate in grid/flex sizing.
     * .sidebar-hero / bank.jpg and .desktop-contact-rail are intentionally excluded.
     */
    .header-promos > a,
    .nav-list > a,
    .footer-nav > a,
    .left-sticky-tools > .sidebar-wide-link,
    .sidebar-image-links > a,
    .graphic-links > a,
    .company-grid > a {
        position: relative;
        z-index: 0;
        transform: translate3d(0, 0, 0);
        transform-origin: center center;
        backface-visibility: hidden;
        transition:
            transform .20s cubic-bezier(.2, .75, .25, 1),
            filter .20s ease,
            box-shadow .20s ease;
    }

    .header-promos > a > img,
    .nav-list > a > img,
    .footer-nav > a > img,
    .left-sticky-tools > .sidebar-wide-link > img,
    .sidebar-image-links > a > img,
    .graphic-links > a > img,
    .company-grid > a > img {
        backface-visibility: hidden;
        transform: translateZ(0);
    }

    /* Upper and footer GIF navigation: restrained enlargement. */
    .nav-list > a:hover,
    .nav-list > a:focus-visible,
    .footer-nav > a:hover,
    .footer-nav > a:focus-visible {
        z-index: 20;
        transform: translate3d(0, -1px, 0) scale(1.045);
        filter: brightness(1.045) contrast(1.025);
        box-shadow: 0 5px 12px rgba(0, 0, 0, .24);
        outline: none;
        text-decoration: none;
    }

    /* Two wide central promotional buttons in the header. */
    .header-promos > a:hover,
    .header-promos > a:focus-visible {
        z-index: 30;
        transform: translate3d(0, -2px, 0) scale(1.025);
        filter: brightness(1.035) contrast(1.025);
        box-shadow: 0 7px 18px rgba(0, 0, 0, .22);
        outline: none;
        text-decoration: none;
    }

    /* Full-width graphical buttons in both sidebars. */
    .left-sticky-tools > .sidebar-wide-link:hover,
    .left-sticky-tools > .sidebar-wide-link:focus-visible,
    .sidebar-image-links > a:hover,
    .sidebar-image-links > a:focus-visible,
    .graphic-links > a:hover,
    .graphic-links > a:focus-visible {
        z-index: 35;
        transform: translate3d(0, -2px, 0) scale(1.03);
        filter: brightness(1.04) contrast(1.03);
        box-shadow: 0 7px 17px rgba(0, 0, 0, .23);
        outline: none;
        text-decoration: none;
    }

    /* Compact country and price cards in the right sidebar. */
    .company-grid > a:hover,
    .company-grid > a:focus-visible {
        z-index: 40;
        transform: translate3d(0, -2px, 0) scale(1.07);
        filter: brightness(1.045) contrast(1.03);
        box-shadow: 0 5px 13px rgba(0, 0, 0, .20);
        background: rgba(255, 255, 255, .94);
        outline: none;
        text-decoration: none;
    }
}

@media (prefers-reduced-motion: reduce) and (min-width: 901px) {
    .header-promos > a,
    .nav-list > a,
    .footer-nav > a,
    .left-sticky-tools > .sidebar-wide-link,
    .sidebar-image-links > a,
    .graphic-links > a,
    .company-grid > a {
        transition: none !important;
    }
}
/* END DESKTOP GRAPHIC BUTTON HOVER EFFECTS — SAFE */


/* LONGREAD LAYOUT 1 — SINGLE LEFT SIDEBAR */
body.page-longread .content-grid {
    grid-template-columns: 300px minmax(0, 1fr);
    grid-template-areas: "left main";
}

body.page-longread .sidebar-left {
    width: 300px;
}

body.page-longread .taxc-article {
    max-width: calc(var(--article-width) + var(--right-sidebar) + var(--layout-gap));
}

body.page-longread .longread-sidebar-tools,
body.page-longread .longread-sidebar-catalog,
body.page-longread .longread-sidebar-catalog .sidebar-section,
body.page-longread .longread-sidebar-catalog .graphic-links,
body.page-longread .longread-sidebar-catalog .graphic-links > a,
body.page-longread .longread-sidebar-catalog .graphic-links > a > img,
body.page-longread .longread-sidebar-catalog .section-divider {
    width: 100%;
    max-width: 300px;
}

body.page-longread .longread-sidebar-catalog .graphic-links > a > img,
body.page-longread .longread-sidebar-catalog .section-divider {
    height: auto;
}

body.page-longread .longread-sidebar-catalog .company-grid {
    width: 100%;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
}

body.page-longread .longread-sidebar-catalog .company-grid a {
    font-size: 12px;
}

body.page-longread .longread-sidebar-catalog .company-grid img {
    width: 42px;
    height: 42px;
}

body.page-longread .longread-sidebar-cta {
    width: 100%;
    max-width: 300px;
    margin-top: 10px;
}

@media (max-width: 1180px) {
    body.page-longread .content-grid {
        grid-template-columns: minmax(0, 720px);
        grid-template-areas:
            "main"
            "left";
        justify-content: center;
        row-gap: 24px;
    }

    body.page-longread .sidebar-left {
        width: 300px;
        max-width: 300px;
        justify-self: center;
    }

    body.page-longread .taxc-article {
        max-width: 720px;
    }
}

@media (max-width: 680px) {
    body.page-longread .content-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "main"
            "left";
        row-gap: 18px;
    }

    body.page-longread .taxc-article {
        max-width: none;
    }
}
/* END LONGREAD LAYOUT 1 */


/* MOBILE FULL-WIDTH HERO — CLASSIC 4:3 FRAME */
.mobile-article-hero {
    display: none;
}

@media (max-width: 680px) {
    /*
     * Full-bleed smartphone hero.
     * The rendered width equals the mobile viewport width.
     * The frame uses the classic 4:3 landscape ratio:
     * height = width * 3 / 4.
     * The image is anchored to the top, so any excess lower area is cropped.
     */
    .mobile-article-hero {
        position: relative;
        width: calc(100% + (2 * var(--page-side-padding)));
        aspect-ratio: 4 / 3;
        display: block;
        margin: 0 calc(-1 * var(--page-side-padding)) 12px;
        overflow: hidden;
        background: #f2f2f2;
    }

    .mobile-article-hero-image {
        position: absolute;
        inset: 0;
        width: 100%;
        max-width: none;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center top;
    }

    /* The original desktop/sidebar copy is hidden only on smartphones. */
    .sidebar-left > .sidebar-hero {
        display: none;
    }
}
/* END MOBILE FULL-WIDTH HERO — CLASSIC 4:3 FRAME */

/* PRINT MODE: remove navigation, sidebars, contacts and CTA controls. */
@media print {
    .skip-link, .primary-nav, .site-footer, .sidebar, .header-promos, .header-tools, .article-cta, .desktop-contact-rail { display: none !important; }
    body, .site { background: #fff; box-shadow: none; }
    .site, .content-grid, .main-content, .taxc-article { width: 100%; max-width: none; display: block; margin: 0; padding: 0; }
    .site-header { display: block; min-height: 0; padding: 0; background: none; }
}



/* TAXC COLLAPSIBLE SOURCES AND ARTICLE DETAILS
   Shared presentation for analytical sources and additional information. */
.taxc-sources {
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px solid #dddddd;
    color: #777777;
    font-size: 11px;
    line-height: 1.45;
    text-align: left;
}

.taxc-sources > summary {
    display: list-item;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: 3px 5px 3px 2px;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: #777777;
    font: inherit;
    line-height: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease;
}

.taxc-sources > summary::marker {
    color: var(--taxc-blue);
    font-size: .9em;
}

.taxc-sources > summary::-webkit-details-marker {
    color: var(--taxc-blue);
}

.taxc-sources > summary:hover,
.taxc-sources > summary:focus-visible {
    background: rgba(0, 2, 191, .07);
    color: var(--taxc-blue);
    text-decoration: none;
}

.taxc-sources > summary:focus {
    outline: none;
}

.taxc-sources > summary:focus-visible {
    outline: 1px dotted var(--taxc-blue);
    outline-offset: 2px;
}

.taxc-sources[open] > summary {
    margin-bottom: 8px;
    color: var(--taxc-blue);
}

.taxc-sources__content {
    margin-top: 0;
    color: #777777;
}

.taxc-sources__content ol,
.taxc-sources__content ul {
    margin: 0 0 0 18px;
    padding: 0;
}

.taxc-sources__content li {
    margin: 0 0 4px;
}

.taxc-sources__content a {
    color: #676767;
    text-decoration: none;
}

.taxc-sources__content a:hover,
.taxc-sources__content a:focus-visible {
    color: var(--taxc-blue);
    text-decoration: underline;
}

/* Mid-article expandable information is presented as a restrained CTA. */
.taxc-details {
    margin: 18px 0 22px;
}

.taxc-details > summary {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 9px 16px;
    border: 1px solid var(--taxc-blue);
    border-radius: 2px;
    background: transparent;
    color: var(--taxc-blue);
    font-size: 13px;
    font-weight: bold;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    list-style: none;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.taxc-details > summary::-webkit-details-marker {
    display: none;
}

.taxc-details > summary::after {
    content: "\25BE";
    font-size: .9em;
    line-height: 1;
}

.taxc-details > summary:hover,
.taxc-details > summary:focus-visible,
.taxc-details[open] > summary {
    background: var(--taxc-blue);
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0, 2, 191, .16);
}

.taxc-details > summary:focus {
    outline: none;
}

.taxc-details > summary:focus-visible {
    outline: 2px solid rgba(0, 2, 191, .28);
    outline-offset: 2px;
}

.taxc-details[open] > summary::after {
    content: "\25B4";
}

.taxc-details__content {
    margin-top: 14px;
    padding: 14px 16px;
    border-left: 3px solid var(--taxc-blue);
    background: #f7f7f7;
}

@media (max-width: 700px) {
    .taxc-sources > summary {
        width: 100%;
    }

    .taxc-details > summary {
        width: 100%;
        min-height: 44px;
        padding: 10px 14px;
        font-size: 14px;
    }
}
/* END TAXC COLLAPSIBLE SOURCES AND ARTICLE DETAILS */

/* ASKNOW FORM AND TWO-COLUMN CONTACT PAGE
   Desktop: left visual/services sidebar plus expanded form content.
   Mobile: bank.jpg hero plus the form only. */
body.page-asknow .content-grid {
    grid-template-columns: var(--left-sidebar) minmax(0, 1fr);
    grid-template-areas: "left main";
    column-gap: var(--layout-gap);
    padding-top: 10px;
    padding-bottom: 14px;
}

body.page-asknow .main-content {
    padding-top: 0;
}

body.page-asknow .taxc-article,
body.page-asknow .quick-question-page {
    width: 100%;
    max-width: 780px;
}

body.page-asknow .taxc-article h1 {
    margin-top: 0;
    margin-bottom: 8px;
}

body.page-asknow .taxc-updated {
    margin-bottom: 8px !important;
}

body.page-asknow .taxc-lead {
    margin-bottom: 9px;
    font-size: 15px;
    line-height: 1.45;
}

body.page-asknow .quick-question-summary {
    margin: 0 0 12px;
    padding: 9px 12px;
    font-size: 12px;
    line-height: 1.45;
}

body.page-asknow .sidebar-contact-cta {
    display: none;
}

.quick-question-form {
    margin: 0 0 12px;
    padding: 16px;
    border: 1px solid #d2d2d2;
    background: #f7f7f7;
    color: #505050;
    text-align: left;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
}

.form-field {
    min-width: 0;
    margin: 0 0 10px;
}

.form-field-full {
    grid-column: 1 / -1;
}

.form-field label {
    display: block;
    margin: 0 0 5px;
    color: #555555;
    font-size: 13px;
    font-weight: bold;
}

.form-required {
    color: var(--taxc-blue);
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    min-height: 40px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #bdbdbd;
    border-radius: 0;
    background: #ffffff;
    color: #333333;
    font: inherit;
    line-height: 1.35;
    outline: none;
}

.form-field select {
    padding-right: 32px;
}

.form-field textarea {
    min-height: 128px;
    resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    border-color: var(--taxc-blue);
    box-shadow: 0 0 0 1px var(--taxc-blue);
}

.form-field input::placeholder,
.form-field textarea::placeholder {
    color: #929292;
    opacity: 1;
}

.form-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 10px;
    color: #666666;
    font-size: 12px;
    line-height: 1.4;
}

.form-consent input {
    flex: 0 0 auto;
    margin: 2px 0 0;
}

.form-consent a {
    color: var(--taxc-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.form-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.form-submit {
    min-height: 38px;
    padding: 8px 24px;
    border: 1px solid var(--taxc-blue);
    border-radius: 0;
    background: var(--taxc-blue);
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease;
}

.form-submit:hover,
.form-submit:focus-visible {
    background: #ffffff;
    color: var(--taxc-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.form-back-link {
    color: #707070;
    font-size: 12px;
}

.form-back-link:hover,
.form-back-link:focus-visible {
    color: var(--taxc-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.form-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

@media (min-width: 901px) {
    body.page-asknow .content-grid {
        grid-template-columns: var(--left-sidebar) minmax(0, 1fr);
        grid-template-areas: "left main";
    }

    body.page-asknow .sidebar-left {
        display: block;
        width: var(--left-sidebar);
        max-width: var(--left-sidebar);
    }
}

@media (max-width: 900px) {
    body.page-asknow .content-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "left"
            "main";
        row-gap: 10px;
        padding: 0 12px 18px;
    }

    body.page-asknow .sidebar-left {
        display: block;
        width: 100%;
        max-width: none;
        justify-self: stretch;
    }

    body.page-asknow .sidebar-left > .sidebar-hero {
        display: block !important;
        width: 100%;
        max-width: none;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: center 30%;
    }

    body.page-asknow .sidebar-left .left-sticky-tools {
        display: none !important;
    }

    body.page-asknow .quick-question-page {
        max-width: none;
    }
}

@media (max-width: 680px) {
    body.page-asknow .taxc-article h1 {
        font-size: 23px;
    }

    body.page-asknow .taxc-updated {
        font-size: 11px;
    }

    body.page-asknow .quick-question-form {
        padding: 14px 12px 16px;
    }

    body.page-asknow .form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.page-asknow .form-field input,
    body.page-asknow .form-field select,
    body.page-asknow .form-field textarea {
        font-size: 16px;
    }

    body.page-asknow .form-field textarea {
        min-height: 145px;
    }

    body.page-asknow .form-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    body.page-asknow .form-submit {
        width: 100%;
        min-height: 44px;
    }

    body.page-asknow .form-back-link {
        padding: 6px 10px;
        text-align: center;
    }
}
/* END ASKNOW FORM AND TWO-COLUMN CONTACT PAGE */

/* ASKNOW DESKTOP FORM ALIGNMENT 2026
   Keeps the standard inter-column gap and aligns the bottom edge of the
   contact form with the bottom edge of the left sidebar. */
@media (min-width: 901px) {
    body.page-asknow .site {
        display: flex;
        min-height: 100vh;
        min-height: 100dvh;
        flex-direction: column;
    }

    body.page-asknow .site-header,
    body.page-asknow .primary-nav,
    body.page-asknow .site-footer {
        flex: 0 0 auto;
    }

    body.page-asknow .content-grid {
        flex: 1 1 auto;
        min-height: 0;
        padding-bottom: 8px;
    }

    body.page-asknow .main-content {
        display: flex;
        min-height: 0;
    }

    body.page-asknow .quick-question-page {
        display: flex;
        width: 100%;
        max-width: none;
        min-height: 100%;
        flex-direction: column;
    }

    body.page-asknow .quick-question-form {
        display: flex;
        width: 100%;
        min-height: 0;
        flex: 1 1 auto;
        flex-direction: column;
        margin: 0;
    }

    body.page-asknow .form-field-full {
        display: flex;
        width: 100%;
        min-height: 0;
        flex: 1 1 auto;
        flex-direction: column;
    }

    body.page-asknow .form-field-full textarea {
        width: 100%;
        min-height: 128px;
        flex: 1 1 auto;
    }
}
/* END ASKNOW DESKTOP FORM ALIGNMENT 2026 */
