/*
 * Impeccable refinement layer
 * Preserves the Wokuo visual identity while unifying legacy and topic pages.
 */

.theme-home-unified {
    --ui-primary: var(--brand-navy);
    --ui-primary-2: var(--brand-navy-deep);
    --ui-accent: var(--brand-blue);
    --ui-accent-hover: #066d95;
    --ui-cyan: var(--brand-cyan);
    --ui-surface: var(--brand-surface);
    --ui-surface-soft: var(--brand-soft);
    --ui-text: var(--brand-ink);
    --ui-text-muted: var(--brand-muted);
    --ui-border: var(--brand-line);
    --ui-success: var(--brand-green);
    --ui-radius-sm: 10px;
    --ui-radius-md: 14px;
    --ui-radius-lg: 16px;
    --ui-shadow-sm: 0 10px 26px rgba(15, 39, 66, .07);
    --ui-shadow-md: 0 18px 42px rgba(15, 39, 66, .12);
    --brand-radius: 14px;
}

.theme-home-unified {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.theme-home-unified main {
    overflow: clip;
}

.theme-home-unified h1,
.theme-home-unified h2,
.theme-home-unified h3,
.theme-home-unified h4 {
    letter-spacing: -.025em;
    text-wrap: balance;
}

.theme-home-unified p,
.theme-home-unified li {
    text-wrap: pretty;
}

.theme-home-unified .topic-kicker,
.theme-home-unified .topic-eyebrow {
    display: none;
}

.theme-home-unified .topic-section-head h2,
.theme-home-unified .topic-hero h1 {
    margin-top: 0;
}

.theme-home-unified .topic-section-head p,
.theme-home-unified .history-summary,
.theme-home-unified .topic-lead {
    max-width: 70ch;
}

.theme-home-unified :where(a, button, summary, input, textarea, select, [tabindex]):focus-visible {
    outline: 3px solid rgba(55, 175, 208, .35) !important;
    outline-offset: 3px !important;
}

.theme-home-unified :where(.btn, .topic-button) {
    min-height: 44px;
    font-weight: 750;
    letter-spacing: .005em;
}

.theme-home-unified :where(.service-item, .service-item-hv2, .studies-item,
    .contact-boxv1-item, .team-item, .history-item, .blog-item, .faq-item,
    .panel, .single-customer, .topic-card, .topic-step, .topic-metric,
    .topic-faq details, .footer-layout) {
    border-radius: 14px !important;
}

.theme-home-unified :where(.service-item, .service-item-hv2, .studies-item,
    .contact-boxv1-item, .team-item, .history-item, .blog-item, .faq-item,
    .panel, .single-customer, .topic-card, .topic-step, .topic-metric,
    .topic-faq details) {
    border-color: var(--brand-line) !important;
    box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .theme-home-unified :where(a.service-item, a.studies-item, .topic-card[href],
        .topic-related .topic-card, .contact-boxv1-item:hover) {
        transition: transform var(--brand-motion), border-color var(--brand-motion),
            box-shadow var(--brand-motion);
    }

    .theme-home-unified :where(a.service-item, a.studies-item, .topic-card[href],
        .topic-related .topic-card, .contact-boxv1-item):hover {
        border-color: transparent !important;
        box-shadow: var(--brand-shadow-hover) !important;
        transform: translateY(-4px);
    }
}

.theme-home-unified .studies-feature,
.theme-home-unified .studies-feature img,
.theme-home-unified .studies-item > img {
    border-radius: 14px 14px 0 0 !important;
}

.theme-home-unified .studies-feature img,
.theme-home-unified .studies-item > img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.theme-home-unified .main-studies .studies-conten,
.theme-home-unified .main-studies .studies-content {
    padding: 24px 24px 28px !important;
}

.theme-home-unified .main-studies .studies-conten p,
.theme-home-unified .main-studies .studies-content p {
    color: var(--brand-muted);
}

.theme-home-unified .faq-shell,
.theme-home-unified .topic-section-soft {
    background:
        radial-gradient(circle at 10% 12%, rgba(55, 175, 208, .08), transparent 28%),
        var(--brand-soft) !important;
}

.theme-home-unified .faq-trigger,
.theme-home-unified .topic-faq summary {
    min-height: 52px;
}

.theme-home-unified .faq-trigger:hover,
.theme-home-unified .topic-faq summary:hover {
    color: var(--brand-blue);
}

.theme-home-unified .business-content p,
.theme-home-unified .client-love p,
.theme-home-unified .love-content p,
.theme-home-unified .single-customer p {
    color: #d5e8f4 !important;
}

.theme-home-unified .client-love .btn {
    margin-top: 26px !important;
}

.theme-home-unified .main-contact-boxv1 .boxv1-item-img {
    border-radius: 14px;
}

.theme-home-unified .main-contact-boxv1 .contact-boxv1-item {
    min-height: 154px;
}

.theme-home-unified .footer-layout {
    border: 1px solid rgba(132, 183, 214, .18);
    background: rgba(21, 49, 84, .72);
    box-shadow: none;
}

.theme-home-unified .footer-layout a {
    text-underline-offset: 4px;
}

.theme-home-unified .footer-layout a:hover,
.theme-home-unified .footer-layout a:focus-visible {
    color: #8fdef3 !important;
}

.theme-home-unified .copyright-text p {
    color: #a9c4d8 !important;
}

.theme-home-unified .uiux-contact-fab {
    min-height: 44px;
    border: 1px solid rgba(255, 255, 255, .28);
    box-shadow: 0 12px 28px rgba(15, 39, 66, .2);
}

/* Shared header language control: one centered component on every page. */
.home1_menu .attr-nav {
    top: 0;
    display: flex;
    align-items: center;
    height: 100%;
}

.home1_menu .attr-nav > ul,
.home1_menu .attr-nav > ul > li.language-menu {
    display: flex;
    align-items: center;
    height: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

.theme-home-unified .language-toggle .language-divider,
.theme-home-unified .language-toggle .language-target {
    display: none !important;
}

.theme-home-unified .language-toggle .language-short {
    display: none !important;
}

.theme-home-unified .home1_menu .attr-nav ul li.language-menu a.language-toggle {
    min-width: 104px;
    min-height: 46px;
    padding: 6px 12px !important;
    gap: 8px;
    line-height: 1;
    text-align: center;
}

.theme-home-unified .language-toggle .language-globe {
    align-items: center;
    display: inline-flex;
    flex: 0 0 26px;
    font-size: 20px !important;
    height: 26px;
    justify-content: center;
    line-height: 1 !important;
    width: 26px;
}

.theme-home-unified .language-toggle .language-current,
.theme-home-unified .language-toggle .language-divider,
.theme-home-unified .language-toggle .language-target,
.theme-home-unified .language-toggle .language-caret {
    line-height: 1;
}

/* Bootsnav already draws the dropdown indicator; remove the duplicate HTML icon. */
.home1_menu .navbar-nav > li.topic-nav-menu > a.dropdown-toggle > .fa-angle-down {
    display: none !important;
}

/* Shared pill CTA: left-aligned label with a vertically centered action disc. */
.theme-home-unified a.btn.btn-round,
.theme-home-unified button.btn.btn-round {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 170px;
    min-height: 50px;
    padding: 9px 52px 9px 24px !important;
    line-height: 1.35;
    text-align: left !important;
}

.theme-home-unified a.btn.btn-round::before,
.theme-home-unified button.btn.btn-round::before {
    top: 50%;
    right: 5px;
    width: 38px;
    height: 38px;
    padding-left: 2px;
    line-height: 38px;
    transform: translateY(-50%);
}

/* CTA hierarchy: contact is the sole filled action; every other CTA is outlined. */
.theme-home-unified a.btn.btn-round:not([href*="contactus"]),
.theme-home-unified button.btn.btn-round {
    border: 1px solid #087eaf !important;
    background: transparent !important;
    color: #075b80 !important;
    box-shadow: none !important;
}

.theme-home-unified a.btn.btn-round:not([href*="contactus"]):hover,
.theme-home-unified a.btn.btn-round:not([href*="contactus"]):focus-visible,
.theme-home-unified button.btn.btn-round:hover,
.theme-home-unified button.btn.btn-round:focus-visible {
    border-color: #056d98 !important;
    background: rgba(8, 126, 175, .08) !important;
    color: #064f70 !important;
}

.theme-home-unified a.btn.btn-round[href*="contactus"],
.theme-home-unified a.topic-button[href*="contactus"] {
    border-color: #0789bb !important;
    background: #0789bb !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(7, 137, 187, .22) !important;
}

.theme-home-unified a.btn.btn-round[href*="contactus"]:hover,
.theme-home-unified a.btn.btn-round[href*="contactus"]:focus-visible,
.theme-home-unified a.topic-button[href*="contactus"]:hover,
.theme-home-unified a.topic-button[href*="contactus"]:focus-visible {
    border-color: #066f9a !important;
    background: #066f9a !important;
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(7, 137, 187, .3) !important;
}

.theme-home-unified a.topic-button:not([href*="contactus"]) {
    border: 1px solid rgba(255, 255, 255, .82) !important;
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
    backdrop-filter: none;
}

.theme-home-unified a.topic-button:not([href*="contactus"]):hover,
.theme-home-unified a.topic-button:not([href*="contactus"]):focus-visible {
    border-color: #fff !important;
    background: rgba(255, 255, 255, .1) !important;
    color: #fff !important;
}

.theme-home-unified .homev1 a.btn.btn-round:not([href*="contactus"]),
.theme-home-unified #leading a.btn.btn-round:not([href*="contactus"]),
.theme-home-unified #business a.btn.btn-round:not([href*="contactus"]),
.theme-home-unified .bg-black a.btn.btn-round:not([href*="contactus"]) {
    border-color: rgba(255, 255, 255, .86) !important;
    color: #fff !important;
}

.theme-home-unified .homev1 a.btn.btn-round:not([href*="contactus"]):hover,
.theme-home-unified .homev1 a.btn.btn-round:not([href*="contactus"]):focus-visible,
.theme-home-unified #leading a.btn.btn-round:not([href*="contactus"]):hover,
.theme-home-unified #leading a.btn.btn-round:not([href*="contactus"]):focus-visible,
.theme-home-unified #business a.btn.btn-round:not([href*="contactus"]):hover,
.theme-home-unified #business a.btn.btn-round:not([href*="contactus"]):focus-visible,
.theme-home-unified .bg-black a.btn.btn-round:not([href*="contactus"]):hover,
.theme-home-unified .bg-black a.btn.btn-round:not([href*="contactus"]):focus-visible {
    border-color: #fff !important;
    background: rgba(255, 255, 255, .1) !important;
    color: #fff !important;
}

/* About timeline: localized label, clearer heading rhythm, and no trailing node. */
html[lang="zh-CN"] .theme-home-unified .main-history .history-nav::before {
    content: "发展历程";
    letter-spacing: .12em;
}

.theme-home-unified .main-history .history-nav::before {
    margin-bottom: 24px;
}

.theme-home-unified .main-history .history-nav .history-year-list::after {
    display: none;
}

/* Center illustration columns against the full height of their text columns. */
@media (min-width: 992px) {
    .theme-home-unified .main-leading,
    .theme-home-unified .main-allies,
    .theme-home-unified .main-business {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }

    .theme-home-unified .main-leading .leading-img,
    .theme-home-unified .main-allies .allies-img,
    .theme-home-unified .main-business .business-video {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        margin-top: 0 !important;
    }
}

/* About history: center the selected milestone beside the taller year rail. */
@media (min-width: 768px) {
    .theme-home-unified .history-carousel .carousel-inner {
        align-self: center;
    }

    .theme-home-unified .history-carousel .carousel-inner > .item.active,
    .theme-home-unified .history-carousel .carousel-inner > .item.next,
    .theme-home-unified .history-carousel .carousel-inner > .item.prev,
    .theme-home-unified .history-carousel .carousel-inner > .item.active .history-stage,
    .theme-home-unified .history-carousel .carousel-inner > .item.next .history-stage,
    .theme-home-unified .history-carousel .carousel-inner > .item.prev .history-stage {
        display: grid;
        align-items: center;
        min-height: 520px;
    }
}

@media (max-width: 991px) {
    .home1_menu .attr-nav {
        top: 0 !important;
        height: 70px;
    }

    .theme-home-unified .language-toggle .language-current.language-long {
        display: inline !important;
    }

    .theme-home-unified .language-toggle .language-current.language-short {
        display: none !important;
    }

    .theme-home-unified .sections,
    .theme-home-unified .sections2,
    .theme-home-unified .sections3,
    .theme-home-unified .sections4,
    .theme-home-unified .topic-section {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .theme-home-unified .topic-hero h1 {
        max-width: 18ch;
        margin-right: auto;
        margin-left: auto;
    }
}

@media (max-width: 600px) {
    .theme-home-unified .home1_menu .attr-nav ul li.language-menu a.language-toggle {
        min-width: 92px;
        min-height: 42px;
        padding: 5px 10px !important;
        gap: 7px;
    }

    .theme-home-unified .sections,
    .theme-home-unified .sections2,
    .theme-home-unified .sections3,
    .theme-home-unified .sections4,
    .theme-home-unified .topic-section {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .theme-home-unified h1 {
        letter-spacing: -.03em;
    }

    .theme-home-unified .topic-card,
    .theme-home-unified .topic-step,
    .theme-home-unified .topic-metric {
        padding: 22px !important;
    }

    .theme-home-unified .footer-layout {
        padding: 26px 20px !important;
    }
}

/* Contact cards: keep the information closer to its section divider. */
.theme-home-unified #blog-page.blog-page .contact-boxv1-item,
.theme-home-unified #blog-page.blog-page .contact-boxv1-item[class*="m-top-"] {
    min-height: 96px;
    margin-top: 10px !important;
    padding-top: 6px !important;
}

@media (prefers-reduced-motion: reduce) {
    .theme-home-unified *,
    .theme-home-unified *::before,
    .theme-home-unified *::after {
        scroll-behavior: auto !important;
    }
}
