@import './design-tokens.css';

:root {
  --ts-brand-hover: #1934d8;
  --ts-ink: #222;
  --ts-heading: #111;
  --ts-muted: #666;
  --ts-surface: #fff;
  --ts-border: #d9d9d9;
  --ts-gutter: clamp(20px, 8.333vw, 160px);
  --ts-header-height: 100px;
  --ts-section-space: clamp(56px, 6.25vw, 120px);
  --ts-title-size: clamp(32px, 3.125vw, 60px);
  --ts-button-height: 50px;
  --ts-radius-pill: 30px;
  --ts-focus: 0 0 0 3px #fff, 0 0 0 6px #1f3efe;
}

tansun-site-header { display: block; position: relative; z-index: 1000; flex-shrink: 0; }
.tn-header { font-family: var(--ts-font); }
.tn-header--managed { height: var(--ts-header-height); overflow: visible; background: var(--ts-surface); font-family: var(--ts-font); }
.tn-header--transparent { background: transparent; }
.tn-header--managed .tn-header__stage { width: 100%; height: var(--ts-header-height); }
.tn-header--managed .tn-header__bar { height: var(--ts-header-height); display: flex; align-items: center; gap: clamp(16px, 2vw, 40px); padding: 0 clamp(24px, 3.125vw, 60px); }
.tn-header--managed .tn-header__logo { position: static; flex: 0 0 160px; height: 54px; }
.tn-header--managed .tn-header__logo img { width: 160px; height: 54px; object-fit: contain; }
.tn-header--managed .tn-header__nav { display: flex; flex: 1; align-items: center; justify-content: center; gap: clamp(18px, 2.5vw, 48px); }
.tn-header--managed .tn-header__nav-item { position: static; min-height: 44px; }
.tn-header--managed button.tn-header__nav-item { border: 0; background: transparent; font-family: inherit; cursor: pointer; }
.tn-header--managed .tn-header__nav-item[aria-expanded="true"] { color: var(--ts-brand); }
.tn-header--managed .tn-header__search { position: static; flex: 0 0 50px; }
.tn-header--managed .tn-header__contact { position: static; flex: 0 0 140px; background: var(--ts-brand); }
.tn-header--managed .tn-dropdown--managed { top: var(--ts-header-height); height: auto; min-height: 360px; max-height: calc(100dvh - var(--ts-header-height)); overflow-y: auto; padding: 48px var(--ts-gutter); box-shadow: 0 24px 36px rgb(0 0 0 / 8%); border-top: 1px solid var(--ts-border); }
.tn-header--managed .tn-dropdown--managed > .tn-dropdown__title { position: static; margin-bottom: 30px; font-size: 30px; }
.tn-header--managed .tn-managed-columns > .tn-dropdown__column { position: static; }
.tn-header--managed .tn-link-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 60px; margin-top: 20px; }
.tn-header--managed .tn-branch__panel .tn-arrow-link { margin: 12px 0; }
.tn-header--delivered .tn-dropdown { top: var(--ts-header-height); max-height: calc(100dvh - var(--ts-header-height)); overflow-y: auto; box-shadow: 0 24px 36px rgb(0 0 0 / 8%); }
.tn-header--delivered .tn-link-list { display: flex; flex-direction: column; gap: 0; }
.tn-header--delivered .tn-branch__panel .tn-arrow-link { margin: 0; }
.tn-header--delivered .tn-mobile-panel { top: 0; box-shadow: none; }
@media (min-width: 1280px) {
  .tn-header--delivered .tn-branch-list > .tn-arrow-link { min-height: 36px; font-size: 16px; line-height: 36px; }
  .tn-header--delivered .tn-dropdown.is-open { display: flex; gap: clamp(24px, 3vw, 56px); height: auto; min-height: 420px; padding: 48px clamp(24px, 5vw, 96px); }
  .tn-header--delivered .tn-dropdown__title { position: static; flex: 0 0 clamp(160px, 12.5vw, 240px); font-size: 28px; white-space: normal; }
  .tn-header--delivered .tn-dropdown__divider { display: none; }
  .tn-header--delivered .tn-dropdown__column { position: static; flex: 0 1 auto; }
  .tn-header--delivered .tn-dropdown--about.is-open { min-height: 280px; align-items: flex-start; }
  .tn-header--delivered .tn-dropdown__heading { transform: none; }
  .tn-header--delivered :is(.tn-dropdown--consulting, .tn-dropdown--about) .tn-dropdown__column { flex: 0 1 clamp(128px, 12vw, 230px); min-width: 0; }
  .tn-header--delivered .tn-dropdown--technology .tn-branch__panel { min-height: 0; padding-block: 8px; }
}
.tn-header :is(a, button):focus-visible, .ts-footer :is(a, input, button):focus-visible { outline: 2px solid var(--ts-brand); outline-offset: 4px; }
.ts-footer { position: relative; z-index: 4; width: 100%; flex-shrink: 0; padding: 64px var(--ts-gutter) 32px; background: radial-gradient(ellipse at 66% 0%, #fbf4f8aa, transparent 60%), linear-gradient(#fff, #f8f8f8); color: var(--ts-ink); font-family: var(--ts-font); font-size: 14px; line-height: 30px; }
.ts-footer * { box-sizing: border-box; }
.ts-footer a { color: inherit; text-decoration: none; }
.ts-footer a:hover { color: var(--ts-brand); }
.ts-footer h2 { margin: 0 0 30px; font-size: 20px; font-weight: 700; line-height: 30px; }
.ts-footer__friends { max-width: var(--ts-content-width); margin: 0 auto; padding-bottom: 40px; border-bottom: 1px solid var(--ts-border); font-size: 16px; }
.ts-footer__friends span + span::before { content: ' | '; margin: 0 16px; color: var(--ts-muted); }
.ts-footer__grid { max-width: var(--ts-content-width); display: grid; grid-template-columns: 55.75% 22.375% 21.875%; gap: 0; margin: 0 auto; padding: 74px 0 126px; }
.ts-footer__subscribe { max-width: 500px; padding-top: 0; }
.ts-footer .subscribe { position: static; width: 100%; }
.ts-footer__subscribe h2 { margin-bottom: 39px; }
.ts-footer__subscribe p { margin: 0; line-height: 24px; white-space: pre-line; }
.ts-footer form { position: relative; top: auto; left: auto; display: flex; width: 100%; height: 67px; align-items: center; gap: 10px; margin-top: 35px; padding: 10px; border-radius: 50px; background: #fff; box-shadow: 0 4px 10px rgb(0 0 0 / 5%); }
.ts-footer form input { width: 100%; min-width: 0; height: 47px; padding: 0 18px; border: 0; background: transparent; color: var(--ts-ink); font: inherit; font-size: 16px; }
.ts-footer form input::placeholder { color: #c4c4c4; }
.ts-footer form button { position: static; flex: 0 0 100px; height: 47px; border: 0; border-radius: 50px; background: var(--ts-brand); color: #fff; font: inherit; font-size: 16px; cursor: pointer; }
.ts-footer form > span { position: absolute; top: calc(100% + 8px); left: 0; font-size: 12px; color: var(--ts-muted); }
.ts-footer__links > a { display: block; }
.ts-footer__contact p { margin: 0; overflow-wrap: anywhere; }
.ts-footer__social { display: flex; gap: 9px; margin-top: 24px; }
.ts-footer__social > :is(a,span) { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; background: #ececec; }
.ts-footer__social img { width: 27px; height: 27px; object-fit: contain; }
.ts-footer__bottom { max-width: var(--ts-content-width); display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin: 0 auto; padding-top: 36px; border-top: 1px solid var(--ts-border); font-size: 16px; line-height: 30px; }
.ts-footer--2026 .ts-footer__bottom { justify-content: center; text-align: center; }
.ts-footer__legal-links { display: inline-flex; justify-content: center; flex-wrap: wrap; gap: 16px; }

.ts-footer.ts-footer--2026[data-template-component] { background: transparent; min-height: 0; }
/* Intrinsic text widths leave two equal spaces between the three footer blocks. */
.ts-footer--2026[data-template-component] .ts-footer__grid { display: flex; justify-content: space-between; align-items: flex-start; gap: clamp(32px, 4vw, 80px); min-height: 0; padding: 75px 0 108px; }
.ts-footer--2026 .ts-footer__grid > * { min-width: 0; }
.ts-footer--2026 .ts-footer__links { flex: 0 1 auto; max-width: 24%; overflow-wrap: anywhere; }
.ts-footer--2026 .ts-footer__contact { flex: 0 1 auto; max-width: 42%; padding-right: 0; }
.ts-footer--2026 .ts-footer__inquiry { flex: 0 0 31.5%; min-width: 320px; }
.ts-footer--2026 .ts-footer__links > span { display: block; }
.ts-footer--2026 .ts-footer__offices { display: inline-block; margin-top: 8px; color: var(--ts-muted); }
.ts-footer--2026 .ts-footer__social { align-items: flex-start; }
.ts-footer--2026 .ts-footer__social > :is(a, details) { width: 45px; height: 45px; }
.ts-footer--2026 .ts-footer__wechat { position: relative; }
.ts-footer--2026 .ts-footer__wechat summary { display: grid; place-items: center; width: 100%; height: 100%; background: #e5e5e5; border-radius: 50%; cursor: pointer; list-style: none; }
.ts-footer--2026 .ts-footer__wechat summary::-webkit-details-marker { display: none; }
.ts-footer--2026 .ts-footer__wechat::details-content { content-visibility: visible; }
.ts-footer--2026 .ts-footer__qr { display: none; position: absolute; z-index: 5; top: calc(100% + 12px); left: 50%; transform: translateX(-50%); padding: 10px; border-radius: 16px; background: white; box-shadow: 0 6px 20px #0002; }
.ts-footer--2026 .ts-footer__qr::before { content: ''; position: absolute; left: calc(50% - 7px); top: -6px; width: 14px; height: 14px; background: white; transform: rotate(45deg); }
.ts-footer--2026 .ts-footer__qr img { display: block; width: 112px; height: 112px; }
.ts-footer--2026 .ts-footer__wechat:is(:hover, :focus-within, [open]) .ts-footer__qr { display: block; }
.ts-footer--2026 form.ts-contact-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 12px; height: auto; margin: 0; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ts-footer--2026 form.ts-contact-form :is(input, select) { width: 100%; height: 50px; min-width: 0; padding: 0 20px; border: 1px solid #e5e5e5; border-radius: 15px; color: var(--ts-ink); background: transparent; font: inherit; font-size: 16px; }
.ts-footer--2026 form.ts-contact-form input::placeholder { color: rgb(17 17 17 / 30%); opacity: 1; }
.ts-footer--2026 form.ts-contact-form :is(.ts-contact-form__business, .ts-contact-form__city, [role=status], small) { grid-column: 1 / -1; }
.ts-footer--2026 form.ts-contact-form button { grid-column: 1 / -1; height: 50px; width: calc((100% - 12px) / 2); background: #1f3efe; color: white; }
.ts-footer--2026 form.ts-contact-form button:disabled { opacity: .65; cursor: wait; }
.ts-footer--2026 form.ts-contact-form [role=status] { margin: 0; font-size: 14px; }
.ts-footer--2026 form.ts-contact-form [role=status]:empty { display: none; }
.ts-footer--2026 form.ts-contact-form small { font-size: 12px; line-height: 20px; color: var(--ts-muted); }
.ts-footer--2026 form.ts-contact-form small a { text-decoration: underline; }
.ts-footer--2026 form.ts-contact-form .ts-contact-form__trap { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.ts-footer--2026 :is(select, summary):focus-visible { outline: 2px solid var(--ts-brand); outline-offset: 4px; }
@media (max-width: 1000px) {
  .ts-footer--2026[data-template-component] .ts-footer__grid { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 40px; padding: 40px 0 64px; }
  .ts-footer--2026 :is(.ts-footer__links, .ts-footer__contact) { max-width: none; }
  .ts-footer--2026 .ts-footer__inquiry { grid-column: 1 / -1; min-width: 0; max-width: 540px; width: 100%; }
}
@media (max-width: 600px) {
  .ts-footer--2026 form.ts-contact-form input { padding-inline: 12px; }
  .ts-footer--2026[data-template-component] .ts-footer__grid { grid-template-columns: 1fr; }
  .ts-footer--2026 .ts-footer__wechat .ts-footer__qr { left: 0; transform: none; }
  .ts-footer--2026 .ts-footer__qr::before { left: 16px; }
  .ts-footer--2026 .ts-footer__bottom { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
  .ts-footer--2026 .ts-footer__copyright { display: flex; flex-direction: column; align-items: center; width: 100%; }
  .ts-footer--2026 .ts-footer__filing { display: block; white-space: nowrap; font-size: clamp(10px, 3vw, 12px); }
}
@media (max-width: 767px) {
  .tn-header--managed.tn-header--delivered .tn-header__logo { top: -5px; left: -4px; }
}
/* Only the original homepage artwork scales; site chrome uses the same viewport layout everywhere. */
.tansun-static-home > tansun-site-header { position: absolute; inset: 0 0 auto; width: 100%; }
.tansun-static-home .psd-page { height: 4915px; }
@media (min-width: 1280px) {
  /* Reserve the scaled artwork's space without relying on a script measurement. */
  .tansun-static-home .page-stage { position: relative; height: auto !important; aspect-ratio: 1920 / 4915; }
  .tansun-static-home .psd-page { position: absolute; top: 0; left: 0; }
}
@media (max-width: 1279px) and (min-width: 1024px) {
  .tn-header--managed .tn-header__bar { gap: 16px; padding: 0 24px; }
  .tn-header--managed .tn-header__nav { gap: 14px; }
  .tn-header--managed .tn-header__nav-item { font-size: 14px; }
  .tn-header--managed .tn-header__contact { flex-basis: 110px; }
  .tn-header--managed .tn-header__search { display: none; }
}
@media (max-width: 1279px) {
  :root { --ts-header-height: 80px; --ts-gutter: 32px; }
  .tn-header--managed .tn-header__nav, .tn-header--managed .tn-header__search, .tn-header--managed .tn-header__contact { display: none; }
  .tn-header--managed .tn-header__bar { padding: 0 24px; }
  .tn-header--managed .tn-mobile-nav { top: var(--ts-header-height); }
  .tn-header--managed .tn-mobile-panel { min-height: 0; max-height: none; padding: 20px 0; border: 0; box-shadow: none; }
  .tn-header--managed .tn-mobile-panel .tn-link-list { grid-template-columns: 1fr; gap: 12px; }
  .ts-footer__grid { grid-template-columns: 1fr 1fr; gap: 48px; }
  .ts-footer__subscribe { grid-column: 1 / -1; padding-top: 0; }
  .ts-footer form { margin-top: 32px; }
  .tansun-static-home .psd-page { height: auto; }
}
@media (max-width: 639px) {
  :root { --ts-gutter: 20px; }
  .ts-footer { padding-top: 40px; }
  .ts-footer__grid { grid-template-columns: 1fr; gap: 48px; padding: 40px 0; }
  .ts-footer__friends { padding-bottom: 24px; font-size: 14px; }
  .ts-footer__friends span + span::before { margin: 0 8px; }
  .ts-footer__bottom { justify-content: flex-start; font-size: 12px; }
  .ts-footer--2026 .ts-footer__bottom { justify-content: center; }
}
.tn-header--managed .tn-header__logo { position: relative; }
.tn-header__logo-light { position: absolute; inset: 0; display: none !important; }
.tn-header--transparent:not(:has(:is([data-menu-trigger], [data-mobile-menu-toggle])[aria-expanded=true])) .tn-header__logo:has(.tn-header__logo-light) > img:first-child { visibility: hidden; }
.tn-header--transparent:not(:has(:is([data-menu-trigger], [data-mobile-menu-toggle])[aria-expanded=true])) .tn-header__logo-light { display: block !important; filter: none !important; }
@media(min-width:1280px) {
  .tn-header--delivered .tn-header__bar { display: flex; align-items: center; gap: clamp(20px, 1.5vw, 32px); padding: 0 clamp(24px, 3.125vw, 60px); }
  .tn-header--delivered .tn-header__logo { position: relative; inset: auto; flex: 0 0 159px; width: 159px; height: 54px; }
  .tn-header--delivered .tn-header__nav { display: flex; flex: 1; align-items: center; justify-content: center; gap: clamp(20px, 2vw, 40px); }
  .tn-header--delivered .tn-header__nav-item { position: static; flex: 0 0 auto; min-height: 44px; height: auto; font-size: 16px; }
  .tn-header--delivered .tn-header__search { position: static; flex: 0 0 50px; width: 50px; height: 50px; }
  .tn-header--delivered .tn-header__contact { position: static; flex: 0 0 140px; width: 140px; height: 50px; }
  .ts-footer { --design-width: min(100vw, 1920px); padding: calc(64 * var(--design-width) / 1920) calc(160 * var(--design-width) / 1920) calc(39 * var(--design-width) / 1920); font-size: max(14px, calc(14 * var(--design-width) / 1920)); line-height: max(22px, calc(30 * var(--design-width) / 1920)); }
  .ts-footer__friends { font-size: max(14px, calc(16 * var(--design-width) / 1920)); line-height: max(22px, calc(24 * var(--design-width) / 1920)); padding: 0 0 calc(42 * var(--design-width) / 1920) calc(8 * var(--design-width) / 1920); }
  .ts-footer__grid { padding: calc(75 * var(--design-width) / 1920) 0 calc(126 * var(--design-width) / 1920); }
  .ts-footer h2 { font-size: max(18px, calc(20 * var(--design-width) / 1920)); line-height: max(22px, calc(24 * var(--design-width) / 1920)); margin-bottom: calc(32 * var(--design-width) / 1920); }
  .ts-footer__subscribe h2 { line-height: max(22px, calc(30 * var(--design-width) / 1920)); margin-bottom: calc(39 * var(--design-width) / 1920); }
  .ts-footer__subscribe p { line-height: max(22px, calc(24 * var(--design-width) / 1920)); }
  .ts-footer__subscribe { max-width: calc(500 * var(--design-width) / 1920); }
  .ts-footer form { height: calc(67 * var(--design-width) / 1920); margin-top: calc(35 * var(--design-width) / 1920); padding: calc(10 * var(--design-width) / 1920); }
  .ts-footer form input { font-size: max(14px, calc(16 * var(--design-width) / 1920)); height: calc(47 * var(--design-width) / 1920); }
  .ts-footer form button { flex-basis: calc(100 * var(--design-width) / 1920); height: calc(47 * var(--design-width) / 1920); font-size: max(14px, calc(16 * var(--design-width) / 1920)); }
  .ts-footer__social { gap: calc(9 * var(--design-width) / 1920); margin-top: calc(23 * var(--design-width) / 1920); }
  .ts-footer__social > :is(a,span) { width: calc(45 * var(--design-width) / 1920); height: calc(45 * var(--design-width) / 1920); background: #e5e5e5; }
  .ts-footer__social img { width: calc(25 * var(--design-width) / 1920); height: calc(25 * var(--design-width) / 1920); }
  .ts-footer__bottom { padding-top: calc(44 * var(--design-width) / 1920); font-size: max(14px, calc(16 * var(--design-width) / 1920)); line-height: max(22px, calc(40 * var(--design-width) / 1920)); }
}
.ts-footer form > span { visibility: hidden; }
.ts-footer form:focus-within > span { visibility: visible; }

@media (min-width: 1280px) {
  .ts-footer form { min-height: 60px; }
  .ts-footer form :is(input, button) { min-height: 44px; }
  .ts-footer form button { min-width: 80px; }
}

/* Public calls to action share one state treatment; navigation tabs retain their hierarchy. */
:is(.tn-header__contact,.psd-button,.round-link,.home-banner__link,.ts-footer form button){background:transparent!important;border:1px solid currentColor!important;color:#111!important}
.home-banner .home-banner__link,.tn-header--transparent .tn-header__contact{color:#fff!important}
:is(.tn-header__contact,.psd-button,.round-link,.home-banner__link,.ts-footer form button):is(:hover,:focus-visible){background:#1f3efe!important;border-color:#1f3efe!important;color:#fff!important}
.tansun-static-home .ts-footer{background:transparent}
.capability-tabs{border-bottom:1px solid #d9d9d9!important}
.capability-tabs button::after{height:3px!important;bottom:-1px!important}
.tansun-static-home:has(.home-banner) .tn-header:not(:has(:is([data-menu-trigger], [data-mobile-menu-toggle])[aria-expanded=true])) .tn-header__contact{color:#fff!important}

/* September footer and language entry override the older shared button treatment. */
.ts-footer--2026 form.ts-contact-form button { background: #1f3efe !important; color: #fff !important; border-color: #1f3efe !important; }
@media (min-width: 1280px) {
  .tn-header--delivered .tn-header__language { position: static; flex: 0 0 56px; }
}
@media (max-width: 1279px) {
  .tn-header--delivered .tn-header__language { top: 11px; right: 75px; }
}

/* 0-下拉导航.psd: shared by Tansun home, secondary and detail pages. */
.tn-header--psd .tn-header__logo { transform: scale(.7); transform-origin: left center; }
.tn-header--psd :is(.tn-dropdown, .tn-mobile-panel) .tn-arrow-link img { display: none; }
.tn-header--psd :is(.tn-dropdown, .tn-mobile-panel) :is(.tn-arrow-link, .tn-dropdown__heading, .tn-branch__label) { color: #111; }
.tn-header--psd :is(.tn-dropdown, .tn-mobile-panel) :is(a[href], button):is(:hover, :focus-visible) { color: #1f3efe; }
@media (min-width: 1280px) {
  .tn-header--psd .tn-header__search { order: 2; margin-left: auto; }
  .tn-header--psd .tn-header__language { order: 1; }
  .tn-header--psd .tn-dropdown.is-open {
    display: grid; grid-template-columns: 21.5% 23.75% 25.5% 29.25%;
    align-items: start; gap: 0; min-height: 482px; height: auto;
    padding: 43px var(--ts-gutter) 64px; box-shadow: none;
  }
  .tn-header--psd .tn-dropdown--product.is-open { min-height: 582px; }
  .tn-header--psd .tn-dropdown--about.is-open { grid-template-columns: 21.5% 16% 20% 15.75% 20% minmax(80px, 1fr); min-height: 483px; }
  .tn-header--psd .tn-dropdown__title { font-size: clamp(20px, 1.5625vw, 30px); line-height: 50px; }
  .tn-header--psd .tn-dropdown__divider { display: block; top: 54px; left: 20.9895833%; height: calc(100% - 122px); }
  .tn-header--psd .tn-dropdown__column { min-width: 0; padding-top: 11px; }
  .tn-header--psd .tn-dropdown__heading { font-size: clamp(16px, 1.041667vw, 20px); line-height: 24px; transform: none; }
  .tn-header--psd .tn-branch-list { width: min(250px, 100%); }
  .tn-header--psd .tn-branch__panel { width: 100%; }
  .tn-header--psd .tn-arrow-link { max-width: 100%; white-space: normal; height: auto; }
  .tn-header--psd .tn-link-list--product .tn-arrow-link { font-size: 16px; line-height: 40px; min-height: 40px; }
  .tn-header--psd .tn-link-list--compact .tn-arrow-link { font-size: 16px; line-height: 36px; min-height: 36px; }
}

/* Shared desktop logo dimensions; small screens retain the compact navigation. */
@media (min-width: 1280px) {
  .tn-header--psd .tn-header__logo { transform: none; flex-basis: 216px; width: 157px; height: 65px; }
  .tn-header--psd .tn-header__logo img { width: 157px; height: 65px; object-fit: contain; }
  .tn-header--psd .tn-header__logo::after { right: auto; width: 157px; }
}
.ts-footer--2026 form.ts-contact-form input::placeholder { font-size: 14px; }

/* Requirements 33–34: consistent action controls without changing text-button geometry. */
body .ts-footer--2026 form.ts-contact-form button,
body :is(.psd-button, .home-banner__link, .ts-footer form button) {
  background: transparent !important; border: 1px solid #ccc !important; color: #666 !important;
}
body .ts-footer--2026 form.ts-contact-form button:is(:hover, :focus-visible):not(:disabled),
body :is(.psd-button, .home-banner__link, .ts-footer form button):is(:hover, :focus-visible):not(:disabled) {
  background: #1f3efe !important; border-color: transparent !important; color: #fff !important; opacity: 1 !important;
}
body .round-link {
  box-sizing: border-box; width: 50px; height: 50px; min-width: 50px; min-height: 50px;
  border: 1px solid #ccc !important; background: transparent !important; color: #666 !important; border-radius: 50%;
}
body .round-link:is(:hover, :focus-visible) { border-color: transparent !important; background: #1f3efe !important; color: #fff !important; opacity: 1 !important; }
body .round-link .arrow { border-width: 1px; }
body .round-link .arrow::before { height: 1px; }

/* Feishu 44 / Figma 2195:457 supersedes the earlier PSD dropdown geometry. */
@media (min-width: 1280px) {
  .tn-header--delivered.tn-header--psd .tn-dropdown.is-open {
    display: block;
    padding: 0;
    box-shadow: none;
    min-height: 0;
    height: var(--tn-panel-height);
    background: #f8f8f8;
  }
  .tn-header--delivered.tn-header--psd .tn-dropdown__title,
  .tn-header--delivered.tn-header--psd .tn-dropdown__divider { display: none; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column {
    position: absolute;
    top: 65px;
    flex: none;
    min-width: 0;
    padding-top: 0;
  }
  .tn-header--delivered.tn-header--psd .tn-dropdown__heading {
    font-size: 24px;
    line-height: 36px;
    white-space: nowrap;
  }
  .tn-header--delivered.tn-header--psd .tn-link-list--product { display: grid; }
  .tn-header--delivered.tn-header--psd .tn-arrow-link { white-space: nowrap; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column--product-center { left: 8.333333%; width: 83.333333%; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column--consulting { left: 8.333333%; width: 48.229167%; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column--operations { left: 61.145833%; width: 13.020833%; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column--compute-rental { left: 78.75%; width: 13.020833%; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column--understand { left: 8.333333%; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column--sustainability { left: 25.9375%; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column--news { left: 43.541667%; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column--careers { left: 61.145833%; }
  .tn-header--delivered.tn-header--psd .tn-dropdown__column--contact-us { left: 78.75%; }
  .tn-header--delivered.tn-header--psd .tn-dropdown--consulting .tn-branch-list { width: 100%; }
}
