/* A neutral brand canvas accommodates both white artwork and photographic covers. */
.company-public-page { background:#fff; }
.company-public-page > .page { width:calc(100% - 176px); max-width:1280px; padding:24px 0 40px; background:#fff; }
.company-public-profile { --company-accent:#ed2729; --company-ink:#17243b; --company-muted:#718096; --company-line:#e5eaf0; color:var(--company-ink); font-size:16px; }
.company-public-profile .company-page-tools { display:flex; align-items:center; justify-content:flex-end; margin:0 0 14px; padding:0; border:0; background:#fff; font-size:12px; line-height:20px; }
.company-public-profile .profile-owner-actions a { color:#526074; }
.company-public-profile .company-page-tools a { display:inline-flex; align-items:center; gap:7px; }
.company-public-profile .company-page-tools a:hover { color:var(--company-accent); }
.company-public-brand { min-width:0; margin:0 0 22px; border:1px solid #e2e7ee; border-radius:12px; background:#fff; box-shadow:0 10px 30px #17243b06; }
.company-brand-main { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:48px; min-width:0; padding:32px 36px; border-radius:11px 11px 0 0; background:#fff; }
.company-brand-main.has-cover { grid-template-columns:53% minmax(0,1fr); gap:0; padding:0; }
.company-public-identity { display:flex; flex-direction:column; align-self:start; min-width:0; padding:8px 0; }
.company-brand-main.has-cover > .company-public-identity { padding:36px; }
.company-brand-main:not(.has-cover) .company-public-identity { max-width:900px; }
.company-brand-heading { display:flex; align-items:center; gap:20px; min-width:0; }
.company-brand-logo { display:grid; place-items:center; flex:0 0 80px; width:80px; height:80px; padding:0; border:0; border-radius:9px; overflow:hidden; background:#fff; color:#8999ad; font-size:32px; }
.company-brand-logo > img { display:block; width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.company-brand-title { flex:1; min-width:0; }
.company-brand-name { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; min-width:0; }
.company-brand-tags { display:flex; align-items:center; flex-wrap:wrap; gap:5px; max-width:100%; }
.company-brand-tag{display:inline-flex;align-items:center;min-width:0;min-height:20px;max-width:100%;padding:1px 6px;border:0;border-radius:3px;background:var(--tag-bg,#e9f1ff);color:var(--tag-fg,#3266ac);font-size:11px;font-weight:500;line-height:18px;overflow-wrap:anywhere}
.company-summary-wrap { margin:24px 0 0; padding-top:22px; border-top:1px solid #e9edf2; }
.company-brand-summary { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:0; color:#657389; font-size:15px; line-height:1.9; white-space:pre-line; overflow-wrap:anywhere; }
.company-brand-summary.is-expanded { display:block; }
.company-summary-toggle { display:inline-flex; align-items:center; gap:8px; margin:14px 0 0; padding:0; border:0; background:transparent; color:#425a7a; font:inherit; font-size:13px; cursor:pointer; }
.company-summary-toggle[hidden] { display:none; }
.company-summary-toggle:hover { color:var(--company-accent); }
.company-summary-toggle[aria-expanded="true"] i { transform:rotate(180deg); }
.company-public-profile .company-public-identity h1 { margin:0; color:#172b46; font-size:30px; font-weight:600; line-height:1.45; letter-spacing:0; overflow-wrap:anywhere; text-wrap:wrap; }
.company-public-profile .company-brand-name h1 { display:inline; }
.company-brand-count { display:flex; align-items:baseline; gap:7px; margin:9px 0 0; color:#7a899e; white-space:nowrap; font-size:14px; line-height:1.6; }
.company-brand-count strong { color:#4c627f; font-size:18px; font-weight:500; font-variant-numeric:tabular-nums; }
/* Keep the cover independent of the adjacent, expandable summary's grid row. */
.company-brand-cover { position:relative; display:grid; place-items:center; align-self:start; width:100%; aspect-ratio:16/9; min-height:0; overflow:hidden; border-radius:11px 0 0 0; background:#f5f7fa; cursor:zoom-in; }
.company-brand-cover > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.company-cover-expand { position:absolute; right:10px; bottom:10px; display:flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid var(--company-line); border-radius:5px; background:#fff; color:#43536d; font-size:12px; line-height:1.5; opacity:0; transition:opacity .15s ease; }
.company-brand-cover:hover .company-cover-expand, .company-brand-cover:focus-visible .company-cover-expand { opacity:1; }
.company-brand-contact { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:28px; min-width:0; padding:22px 36px; border-top:1px solid #e9edf2; border-radius:0 0 11px 11px; background:#fafbfc; }
.company-brand-contact.has-wechat { grid-template-columns:minmax(0,1fr) 228px; }
.company-brand-contact-details { display:grid; min-width:0; }
.company-brand-contact-details.has-locations { grid-template-columns:minmax(0,1fr) minmax(0,1.14fr); gap:28px; }
.company-brand-contact-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:22px; margin:0; }
.company-brand-contact-facts > div { min-width:0; }
.company-brand-contact-facts > div + div { padding-left:22px; border-left:1px solid #e2e8ef; }
.company-brand-contact dt { color:#75849a; font-size:12px; line-height:1.7; }
.company-brand-contact dd { min-width:0; margin:9px 0 0; color:#263951; font-size:16px; font-weight:550; line-height:1.6; overflow-wrap:anywhere; user-select:text; }
.company-brand-contact-facts [data-company-contact-phone] { font-size:19px; font-weight:600; font-variant-numeric:tabular-nums; }
.company-brand-locations { display:grid; align-content:center; align-self:stretch; gap:14px; min-width:0; margin:0; padding-left:28px; border-left:1px solid #e2e8ef; }
.company-brand-locations > div { display:grid; grid-template-columns:56px minmax(0,1fr); align-items:baseline; gap:14px; min-width:0; }
.company-brand-locations dd { margin:0; font-size:13px; font-weight:400; line-height:1.8; }
.company-brand-locations .company-brand-address dd { white-space:pre-line; }
.company-brand-website a { color:#42618a; font-size:13px; font-weight:400; line-height:1.8; }
.company-brand-website a:hover { text-decoration:underline; text-underline-offset:3px; }
.company-brand-website a > i { display:inline-block; margin-left:6px; font-size:11px; }
.company-brand-wechat { min-width:0; align-self:center; padding-left:24px; border-left:1px solid #e2e8ef; }
.company-brand-wechat .company-wechat-entry { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:14px; width:100%; margin:0; text-decoration:none; cursor:zoom-in; }
.company-brand-wechat .company-wechat-entry > img { display:block; width:88px; height:88px; padding:5px; border:1px solid #e2e8ee; border-radius:7px; background:#fff; object-fit:contain; }
.company-brand-wechat .company-wechat-copy { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-width:0; color:#7a889b; font-size:12px; line-height:1.6; text-align:left; }
.company-wechat-copy > strong { display:flex; align-items:center; gap:6px; margin-bottom:2px; color:#34475f; font-size:14px; font-weight:600; }
.company-wechat-copy > strong > i { color:#279462; font-size:16px; }
.company-wechat-copy .company-wechat-enlarge { margin-top:2px; color:#25825b; font-size:12px; }
.company-wechat-entry:hover > img { border-color:#a9cdbb; }
.company-wechat-entry:hover .company-wechat-enlarge { color:#176b48; text-decoration:underline; text-underline-offset:3px; }
.company-public-brand a:focus-visible, .company-public-brand button:focus-visible { outline:2px solid #42618a; outline-offset:4px; }
.company-section-nav { display:flex; align-items:center; gap:32px; min-height:56px; padding:0; border-bottom:1px solid var(--company-line); background:#fff; scroll-margin-top:20px; }
.company-section-nav > a { display:flex; align-items:center; align-self:stretch; gap:9px; margin-bottom:-1px; padding:15px 12px 14px; border-bottom:3px solid transparent; color:#34445d; font-size:16px; font-weight:600; transition:color .15s; }
.company-section-nav > a:first-child { padding-left:0; }
.company-section-nav > a:hover { color:var(--company-accent); }
.company-section-nav > a[aria-selected="true"] { border-bottom-color:var(--company-accent); color:var(--company-accent); font-weight:650; }
.company-section-nav > a:focus-visible { outline:2px solid var(--company-accent); outline-offset:-6px; }
.company-section-nav > a > span { font-size:13px; font-weight:500; font-variant-numeric:tabular-nums; }
.company-tab-content { padding-top:32px; min-height:300px; }
.company-public-profile .company-tab-panel { padding:0; margin:0; border:0; border-radius:0; background:#fff; scroll-margin-top:28px; }
.company-public-profile .company-tab-panel[hidden] { display:none; }
.company-tab-panel:focus-visible { outline:2px solid var(--company-accent); outline-offset:6px; }
.company-panel-heading { margin-bottom:26px; }
.company-panel-heading h2 { margin:0; color:var(--company-ink); font-size:24px; font-weight:650; line-height:1.5; }
.company-panel-heading p { margin:5px 0 0; color:var(--company-muted); font-size:14px; line-height:1.7; }
.company-about-document { width:100%; margin:0; }
.company-public-profile .company-public-about .profile-markdown, .company-public-profile .profile-markdown .md-editor-preview { font-size:16px; line-height:1.9; color:#435269; }
.company-public-about .profile-markdown :is(h1,h2,h3,h4,h5,h6) { margin:28px 0 12px; padding:0; border:0; color:var(--company-ink); font-weight:650; line-height:1.5; }
.company-public-about .profile-markdown h1 { font-size:28px; }
.company-public-about .profile-markdown h2 { font-size:24px; }
.company-public-about .profile-markdown h3 { font-size:20px; }
.company-public-about .profile-markdown :is(h4,h5,h6) { font-size:18px; }
.company-public-about .profile-markdown :is(p,ul,ol) { margin:0 0 16px; }
.company-public-about .profile-markdown blockquote { margin:0 0 28px; padding:10px 16px; border-left:3px solid #cbd5e2; background:#f7f9fb; color:#65748b; font-size:14px; }
.company-public-about .profile-markdown blockquote > :last-child { margin-bottom:0; }
.company-public-profile .profile-markdown img { cursor:zoom-in; }
.company-public-profile .profile-empty { margin:0; font-size:16px; }
.company-showcase { margin-top:36px; padding-top:28px; border-top:1px solid var(--company-line); }
.company-showcase > h2 { margin:0 0 20px; color:#25364e; font-size:22px; font-weight:650; }
.company-public-profile .company-public-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0; }
.company-public-profile .company-public-gallery.single-image { grid-template-columns:minmax(0,1fr); }
.company-public-profile .company-public-gallery a { position:relative; display:block; border-radius:8px; border:0; background:#fff; cursor:zoom-in; }
.company-public-profile .company-public-gallery img { display:block; width:100%; height:auto; max-height:520px; object-fit:contain; }
.company-public-gallery a > span { position:absolute; right:12px; bottom:12px; display:flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid var(--company-line); border-radius:5px; background:#fff; color:#43536d; font-size:12px; line-height:1.5; }
.company-services-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.company-services-toolbar > span { color:#8090a5; font-size:13px; }
.company-public-profile .company-service-types { gap:14px; border:0; flex-wrap:wrap; }
.company-public-profile .company-service-types > a { gap:7px; margin:0; padding:6px 16px; border:1px solid transparent; border-radius:5px; color:#63738a; font-size:14px; background:#f7f9fb; }
.company-public-profile .company-service-types > a.active { color:var(--company-accent); background:#fff0f1; }
.company-public-profile .company-service-types > a > span { font-size:12px; }
.company-service-list { display:grid; gap:24px; }
.company-public-profile .company-service-row { display:grid; grid-template-columns:280px minmax(0,1fr) 128px; align-items:center; gap:28px; margin:0; padding:0 0 24px; border:0; border-bottom:1px solid var(--company-line); border-radius:0; background:#fff; }
.company-public-profile .company-service-row:last-child { border-bottom:1px solid var(--company-line); }
.company-public-profile .company-service-cover { width:100%; aspect-ratio:16/9; border-radius:8px; background:#fff; }
.company-public-profile .company-service-cover img { object-fit:contain; }
.company-public-profile .company-service-copy { display:block; min-width:0; }
.company-public-profile .company-service-kind { color:#7a899e; font-size:12px; }
.company-public-profile .company-service-copy > h3 { margin:6px 0 0; color:#22344f; font-size:20px; line-height:1.5; font-weight:600; overflow-wrap:anywhere; }
.company-public-profile .company-service-meta { display:inline; color:#64758e; font-size:13px; line-height:1.7; }
.company-public-profile .company-service-summary { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin-top:8px; white-space:normal; overflow-wrap:anywhere; color:#718096; font-size:14px; line-height:1.8; }
.company-service-details { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin-top:8px; color:#718096; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.company-public-profile .company-service-view { display:flex; align-items:center; justify-content:center; width:100%; min-height:40px; gap:10px; padding:8px 16px; margin:0; border-radius:6px; background:var(--company-accent); color:#fff; font-size:14px; font-weight:500; line-height:1.5; white-space:nowrap; transition:background .15s; }
.company-public-profile .company-service-row:hover .company-service-view { background:#d91e21; color:#fff; text-decoration:none; }
.company-public-profile .company-service-row:focus-visible { outline:2px solid var(--company-accent); outline-offset:6px; }
.company-public-profile .company-services-empty { padding:32px 20px; }
.company-public-profile .company-services-pagination { margin-top:20px; border-top:0; font-size:14px; }
.company-contact-section .company-panel-heading { margin-bottom:0; }
.company-contact-section .company-panel-heading h2 { font-size:28px; }
.company-contact-section .company-panel-heading p { font-size:16px; }
.company-contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; align-items:center; padding:0 0 12px; }
.company-contact-layout.without-wechat { grid-template-columns:1fr; }
.company-contact-facts { display:grid; grid-template-columns:minmax(120px,.85fr) minmax(0,1.15fr); gap:28px 32px; margin:0; padding:32px 48px 32px 0; }
.company-contact-facts > div { min-width:0; }
.company-contact-facts dt { margin:0 0 9px; color:#7a899c; font-size:16px; line-height:1.5; }
.company-contact-facts dd { margin:0; color:#263951; font-size:22px; font-weight:500; line-height:1.7; overflow-wrap:anywhere; user-select:text; }
.company-contact-facts [data-company-contact-phone] { font-size:28px; font-weight:600; line-height:1.5; font-variant-numeric:tabular-nums; }
.company-contact-facts > div:has(a) { grid-column:1 / -1; }
.company-contact-facts a { color:#42618a; font-size:16px; }
.company-contact-facts a > i { font-size:12px; margin-left:6px; }
.company-contact-facts .is-empty { color:#8d9aad; font-weight:400; }
.company-contact-wechat { min-width:0; padding:8px 0 8px 48px; border-left:1px solid var(--company-line); }
.company-contact-wechat .provider-wechat { display:grid; grid-template-columns:180px minmax(0,1fr); grid-template-rows:auto 1fr; align-items:start; gap:18px 32px; min-height:230px; }
.company-contact-wechat .provider-wechat:not(:has(.provider-wechat-qr)) { grid-template-columns:1fr; }
.company-contact-wechat .provider-wechat-heading { grid-column:2; grid-row:1; align-self:end; gap:12px; padding-top:18px; }
.company-contact-wechat .provider-wechat-heading > i { color:#279462; font-size:32px; line-height:1; }
.company-contact-wechat .provider-wechat-heading h3 { margin:0; color:var(--company-ink); font-size:22px; font-weight:600; }
.company-contact-wechat .provider-wechat-qr { grid-column:1; grid-row:1 / 3; display:flex; flex-direction:column; align-items:center; gap:8px; margin:0; text-decoration:none; cursor:zoom-in; }
.company-contact-wechat .provider-wechat-qr > img { display:block; width:180px; height:180px; padding:6px; border:1px solid var(--company-line); border-radius:8px; background:#fff; object-fit:contain; }
.company-contact-wechat .provider-wechat-qr > span { color:var(--company-muted); font-size:12px; line-height:1.8; }
.company-contact-enlarge { display:block; color:#42618a; }
.company-contact-wechat .provider-wechat-qr:hover .company-contact-enlarge { color:var(--company-accent); text-decoration:underline; text-underline-offset:3px; }
.company-contact-wechat .provider-wechat-id { grid-column:2; grid-row:2; display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; margin:0; padding:0; border:0; border-radius:0; background:none; font-size:16px; }
.company-contact-wechat .provider-wechat-id > span { color:var(--company-muted); }
.company-contact-wechat .provider-wechat-id > strong { flex:none; max-width:100%; color:var(--company-ink); font-size:28px; font-weight:600; line-height:1.5; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.company-contact-wechat .provider-wechat-id > button { min-width:168px; min-height:44px; margin-top:2px; padding:8px 24px; border:1px solid var(--company-accent); border-radius:6px; background:var(--company-accent); color:#fff; font:inherit; font-size:16px; font-weight:600; line-height:1.5; cursor:pointer; transition:background .15s,border-color .15s; }
.company-contact-wechat .provider-wechat-id > button:hover { border-color:#d51f24; background:#d51f24; }
.company-contact-wechat :is(a,button):focus-visible { outline:2px solid var(--company-accent); outline-offset:4px; }
.company-contact-wechat .provider-wechat:not(:has(.provider-wechat-qr)) :is(.provider-wechat-heading,.provider-wechat-id) { grid-column:1; }
.company-contact-wechat .provider-wechat:not(:has(.provider-wechat-id)) { grid-template-columns:180px; grid-template-rows:auto auto; justify-content:center; }
.company-contact-wechat .provider-wechat:not(:has(.provider-wechat-id)) .provider-wechat-heading { grid-column:1; padding-top:0; }
.company-contact-wechat .provider-wechat:not(:has(.provider-wechat-id)) .provider-wechat-qr { grid-row:2; }
.company-image-dialog { box-sizing:border-box; width:max-content; max-width:min(1120px,90vw); max-height:90vh; margin:auto; padding:0; border:1px solid #e5eaf0; border-radius:16px; background:#fff; color:#17243b; box-shadow:0 24px 80px #14213533; overflow:auto; }
.company-image-dialog::backdrop { background:#15223880; backdrop-filter:blur(3px); }
.company-image-toolbar { display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:1; gap:24px; padding:14px 20px; background:#fff; }
.company-image-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.company-image-heading > div { min-width:0; }
.company-image-dialog .company-image-heading h2 { margin:0; color:#42536c; font-size:14px; font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.company-image-toolbar > button { display:grid; place-items:center; align-self:flex-start; flex-shrink:0; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:#f5f7fa; color:#7a8798; cursor:pointer; transition:background .15s,color .15s; }
.company-image-toolbar > button:hover { background:#eaf0f5; color:#17243b; }
.company-image-toolbar > button:focus-visible { outline:2px solid #5687bf; outline-offset:3px; }
.company-image-stage > img { display:block; max-width:100%; width:auto; max-height:calc(90vh - 66px); height:auto; object-fit:contain; margin:auto; }
.company-image-dialog [data-company-qr-only][hidden] { display:none; }
.company-image-dialog--wechat { width:420px; }
.company-image-dialog--wechat .company-image-toolbar { position:relative; gap:16px; padding:28px 24px 0 28px; }
.company-image-dialog--wechat .company-image-heading h2 { color:#17243b; font-size:20px; font-weight:600; line-height:1.4; }
.company-image-wechat-icon { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border-radius:12px; background:#edf8f1; color:#29985b; font-size:25px; }
.company-image-dialog .company-image-company { margin:5px 0 0; color:#718096; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.company-image-dialog--wechat .company-image-stage { box-sizing:border-box; display:grid; place-items:center; width:304px; height:304px; margin:26px auto 20px; padding:16px; border:1px solid #e5eaf0; border-radius:12px; background:#fff; }
.company-image-dialog--wechat .company-image-stage > img { width:100%; height:100%; max-height:270px; object-fit:contain; }
.company-image-dialog .company-image-hint { display:flex; align-items:center; justify-content:center; gap:7px; margin:0; padding:0 28px 20px; color:#718096; font-size:13px; line-height:1.7; }
.company-image-hint > i { color:#29985b; font-size:15px; }
.company-image-contact { margin:0 28px 28px; padding-top:18px; border-top:1px solid #edf0f3; }
.company-image-contact dl { display:grid; gap:12px; margin:0; }
.company-image-contact dl > div { display:grid; grid-template-columns:76px minmax(0,1fr); gap:16px; align-items:start; font-size:14px; line-height:1.7; }
.company-image-contact dt { color:#718096; }
.company-image-contact dd { display:flex; align-items:baseline; gap:12px; min-width:0; margin:0; overflow-wrap:anywhere; }
.company-image-contact dd > strong { flex:1; min-width:0; font-weight:600; user-select:all; }
.company-image-contact dd > button { flex-shrink:0; padding:2px 10px; border:1px solid #d5e4dc; border-radius:5px; background:#fff; color:#16815b; font:inherit; font-size:12px; cursor:pointer; }
.company-image-contact dd > button:hover { background:#edf8f1; }
.company-image-contact dd > button:focus-visible { outline:2px solid #29985b; outline-offset:3px; }
@media(max-width:1360px) {
    .company-brand-main { padding:28px; gap:32px; }
    .company-brand-main.has-cover > .company-public-identity { padding:28px; }
    .company-brand-heading { gap:18px; }
    .company-brand-logo { flex-basis:72px; width:72px; height:72px; }
    .company-brand-summary { font-size:14px; }
    .company-brand-contact { padding:22px 28px; gap:22px; }
    .company-brand-contact.has-wechat { grid-template-columns:minmax(0,1fr) 216px; }
    .company-brand-contact-details.has-locations { gap:20px; }
    .company-brand-contact-facts { gap:16px; }
    .company-brand-contact-facts > div + div { padding-left:16px; }
    .company-brand-contact-facts dd { font-size:15px; }
    .company-brand-contact-facts [data-company-contact-phone] { font-size:17px; }
    .company-brand-wechat { padding-left:16px; }
    .company-brand-locations { padding-left:20px; gap:12px; }
    .company-brand-locations > div { gap:10px; }
    .company-brand-locations dd { font-size:13px; }
    .company-public-profile .company-public-identity h1 { font-size:28px; }
}
@media(max-width:1250px) {
    .company-contact-facts { gap:24px; padding-right:28px; }
    .company-contact-facts [data-company-contact-phone] { font-size:23px; }
    .company-contact-wechat { padding-left:28px; }
    .company-contact-wechat .provider-wechat { grid-template-columns:160px minmax(0,1fr); gap:16px 24px; min-height:210px; }
    .company-contact-wechat .provider-wechat-qr > img { width:160px; height:160px; }
    .company-contact-wechat .provider-wechat-id > strong { font-size:23px; }
    .company-public-profile .company-service-row { grid-template-columns:240px minmax(0,1fr) 128px; gap:24px; }
}
.company-promo-film { width:100%; max-width:980px; margin:0 auto; }
.company-film-stage { position:relative; overflow:hidden; border:1px solid #202b3b; border-radius:10px; background:#152033; }
.company-promo-film video { display:block; width:100%; aspect-ratio:16/9; object-fit:contain; background:#152033; }
.company-film-play { position:absolute; top:50%; left:50%; display:flex; flex-direction:column; align-items:center; gap:14px; width:max-content; max-width:90%; padding:10px; transform:translate(-50%,-50%); border:0; background:transparent; color:#fff; font:inherit; cursor:pointer; }
.company-film-play[hidden] { display:none; }
.company-film-play > span { display:grid; place-items:center; width:76px; height:76px; border-radius:50%; background:#fff; color:var(--company-ink); box-shadow:0 4px 24px #0b142833; transition:transform .15s; }
.company-film-play i { margin-left:4px; font-size:36px; }
.company-film-play strong { font-size:16px; font-weight:600; text-shadow:0 1px 5px #000; }
.company-film-play:hover > span { transform:scale(1.06); color:var(--company-accent); }
.company-film-play:focus-visible { outline:2px solid #fff; outline-offset:6px; border-radius:10px; }
@media(prefers-reduced-motion:reduce) { .company-section-nav > a, .company-film-play > span, .company-cover-expand { transition:none; } }
