/* Content-only additions to Eleventy LibDoc 0.14.9. Upstream design-system CSS is unchanged. */
.company-photo { margin: 1.5rem 0 2rem; }
.company-photo img { display: block; width: 100%; height: auto; }
.company-photo figcaption { padding-top: .4rem; color: var(--ita-colors-neutral-700); font-size: 12px; }
.company-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 28px 0; }
.company-card { overflow: hidden; background: var(--ita-colors-neutral-100); }
.company-card > a { display: block; height: 100%; color: inherit; }
.company-card picture { display: block; }
.company-card img { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.company-card h3 { line-height: 1.4; overflow-wrap: anywhere; }
.company-people { display: flex; flex-wrap: wrap; gap: 30px; margin: 28px 0; }
.company-people a { display: flex; flex-direction: column; gap: 8px; width: 200px; text-decoration: none; }
.company-people img { width: 200px; height: 235px; object-fit: cover; object-position: top; }
.company-people span { font-size: 14px; }
.company-team-feature { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 30px; margin: 32px 0; }
.company-team-feature > picture img { width: 180px; height: 230px; object-fit: cover; object-position: top; }
.company-team-feature h3 { margin-top: 0; }
.company-filings { display: flex; flex-wrap: wrap; gap: 16px 25px; }
.company-filings a { display: inline-flex; align-items: center; gap: 6px; }
.company-filings img { width: 18px!important; height: 20px!important; min-width: 18px; display: inline-block; }
.company-footer { padding-bottom: 90px; }
.company-footer > .pt-11 { padding-top: 15px; }
.company-skip { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px; background: white; }
.company-skip:focus { top: 20px; }
@media(max-width: 600px) { .company-grid { grid-template-columns: 1fr; gap: 20px; } .company-team-feature { grid-template-columns: 1fr; gap: 20px; } .company-filings { flex-direction: column; } .company-people a { width: min(200px, 100%); } }

/* Chinese reading rhythm, using LibDoc's existing colors and components. */
:root { --libdoc-font-family: "Recursive", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; }
main { min-width: 0; }
main > p, main > ul, main > ol, main > table { font-size: 1rem; line-height: 1.85; }
main > h2 { margin-top: 2.75rem; line-height: 1.45; scroll-margin-top: 1.5rem; }
main > h3 { line-height: 1.55; scroll-margin-top: 1.5rem; }
main > header h1 { letter-spacing: -.025em; line-height: 1.25; }
main > header > p { line-height: 1.65; letter-spacing: 0; text-wrap: pretty; }
.company-card { transition: border-color .18s ease, background-color .18s ease; }
.company-card:hover, .company-card:focus-within { border-color: var(--ita-colors-primary-600); background: var(--ita-colors-primary-100); }
.company-card .fs-3 { font-size: .875rem; }
.company-card h3 { font-size: 1.35rem; letter-spacing: -.015em; }
.company-card p { line-height: 1.7; }
.company-photo figcaption { font-size: .8125rem; }
.company-related { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2.5rem; padding-block: 1.5rem; border-top: 1px dashed var(--ita-colors-neutral-500); }
.company-filings { line-height: 1.7; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible { outline: 2px solid var(--ita-colors-primary-600); outline-offset: 4px; }
#nav_primary_checkbox:focus-visible + label { outline: 2px solid var(--ita-colors-primary-600); outline-offset: -4px; }
.company-skip { background: var(--ita-colors-neutral-100); color: var(--ita-colors-neutral-900); }
@media (max-width: 899px) {
    main > header h1 { font-size: clamp(1.9rem, 7vw, 2.6rem); overflow-wrap: anywhere; }
    #nav_small_devices { height: calc(60px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); background: var(--ita-colors-neutral-100); }
    #nav_small_devices .fs-1 { font-size: .8125rem; letter-spacing: 0; }
    .company-footer { padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
    main > table { display: block; overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Align figures with the same column as headings and paragraphs. */
main > .company-photo { margin: 1.5rem auto 2rem; padding-block: 0; border: 0; border-radius: 0; background: transparent; gap: .5rem; }
main > .company-photo picture { width: 100%; }
main > .company-photo figcaption { width: 100%; text-align: left; font-size: .8125rem; line-height: 1.5; }
