/* Supplied original photography; the existing card proportions and motion are retained. */
.story-card[data-professional="business"] .story-card-media img{object-position:57% 50%}
.story-card[data-professional="legal"] .story-card-media img{object-position:48% 50%}
.story-card[data-professional="tax"] .story-card-media img{object-position:56% 50%}
.story-card[data-professional="finance"] .story-card-media img{object-position:50% 43%}
.story-card[data-professional="investment"] .story-card-media img{object-position:61% 50%}
.inline-icon-grid article .solution-icon{display:block;width:48px;height:48px;object-fit:contain;flex:none;margin:0 auto}
/* Size the container from the artwork itself, so contain/letterboxing cannot
   add breakpoint-dependent space to the 40px breathing room below it. */
#platform.platform-section { min-height:0; height:auto; padding-bottom:40px!important; }
#platform .platform-visual {
  width:min(calc(100% - 32px),max(720px,70vw),1380px);
  height:auto;
  max-width:none;
  aspect-ratio:auto!important;
  margin:0 auto;
  background:transparent;
}
#platform .platform-visual img {
  display:block;
  width:100%;
  height:auto;
  max-height:none;
}

/* Shared platform cards retain centered identities and readable feature lists. */
#page-solutions .platform-feature-grid article > div:first-child { width:48px; margin-inline:auto; }
#page-solutions .platform-feature-grid article > div:last-child { width:100%; }
#page-solutions .platform-feature-grid h5 { text-align:center; }
#page-solutions .platform-feature-list {
  display:grid;
  gap:8px;
  margin:18px 0 0;
  padding:0;
  list-style:none;
  text-align:left;
  color:#69737c;
  font-size:16px;
  line-height:1.8;
  overflow-wrap:anywhere;
}
#page-solutions .platform-feature-list li { display:block; min-width:0; margin:0; padding:0; white-space:normal; }

/* Only the two built-in agent modules use framed cards. */
#page-solutions .inline-icon-grid.solution-feature-cards { border:0!important; gap:24px; }
#page-solutions .inline-icon-grid.solution-feature-cards > article {
  border:1px solid #dfe3e7!important; border-radius:0; padding:28px!important;
  background:#fff; min-width:0; text-align:left;
}
#page-solutions .solution-feature-cards h5 { font-size:22px; font-weight:550; line-height:1.45; text-wrap:balance; }
#page-solutions .solution-feature-cards :is(p,.platform-feature-list) { font-size:16px; line-height:1.85; color:#65707b; }
#page-solutions .solution-feature-cards.workbook-agents article > div:first-child { margin-inline:0; }
#page-solutions .solution-feature-cards.workbook-agents .solution-icon { margin-inline:0; }
#page-solutions .solution-feature-cards.workbook-agents h5 { text-align:center; }
#page-solutions .solution-expanding { border:0!important; }
@media(max-width:720px) {
  #page-solutions .inline-icon-grid.solution-feature-cards { gap:16px; }
  #page-solutions .inline-icon-grid.solution-feature-cards > article { padding:24px!important; }
}
/* All languages share the card layout and type size; longer features wrap. */
#page-solutions .inline-icon-grid.platform-feature-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
#page-solutions .inline-icon-grid.platform-feature-grid > article { padding:28px 18px!important; }
@media(max-width:1279px) {
  #page-solutions .inline-icon-grid.platform-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
  #page-solutions .inline-icon-grid.platform-feature-grid { grid-template-columns:minmax(0,1fr); }
  #page-solutions .inline-icon-grid.platform-feature-grid > article { padding:24px 16px!important; }
}

/* Retain the original dark marquee and white marks. Invert the white areas
   inside the source artwork to black, then screen them out to retain cutouts. */
#trust .marquee-logo { grid-template-columns:minmax(0,1fr); overflow:hidden; }
#trust .marquee-logo > :is(.xiangjiang-horizontal-logo,.academic-color-logo,.ibfd-horizontal-logo) { min-width:0; width:100%; max-width:100%; }
#trust .marquee-logo img { max-width:100%; object-fit:contain; }
#trust .marquee-logo:is([data-logo="lens"],[data-logo="bjcta"]) img,
#trust .ibfd-horizontal-logo img { filter:grayscale(1) invert(1) brightness(3); mix-blend-mode:screen; }
#trust .marquee-logo .academic-color-logo::before { background:#fff; }
#trust .marquee-logo .xiangjiang-horizontal-logo { filter:brightness(0) invert(1); }
#trust .marquee-logo .academic-color-logo { width:100%; }
#trust .ibfd-horizontal-logo { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; color:#fff; }
#trust .ibfd-horizontal-logo img { flex:0 0 25px; width:25px; height:37px; }
#trust .ibfd-horizontal-logo > span { font-size:16px; font-weight:600; white-space:nowrap; }
#trust .marquee-logo[data-logo="ibfd"], #trust .marquee-logo[data-logo="bjcta"] { width:clamp(230px,19vw,280px); }
@media (max-width: 767px) {
  #trust .marquee-logo[data-logo="ibfd"], #trust .marquee-logo[data-logo="bjcta"] { width:220px!important; }
  #trust .marquee-logo[data-logo="bjcta"] img { width:100%!important; max-height:38px!important; }
  #trust .ibfd-horizontal-logo img { width:25px!important; max-height:37px!important; }
}
.company-banner-viewport .company-banner-edge { padding:0; opacity:1; color:rgba(255,255,255,.82); }
.company-banner-viewport .company-banner-edge span { width:48px; height:48px; border:1px solid rgba(255,255,255,.26); border-radius:50%; background:rgba(12,19,29,.28); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:none; font-size:34px; font-weight:400; transform:none; transition:background .2s,box-shadow .2s; }
.company-banner-viewport .company-banner-edge:hover { color:#fff; background:transparent; }
.company-banner-viewport .company-banner-edge:hover span { background:rgba(12,19,29,.48); border-color:rgba(255,255,255,.5); box-shadow:none; transform:none; }
.company-banner-viewport .company-banner-edge:focus-visible { outline:none; }
.company-banner-viewport .company-banner-edge:focus-visible span { outline:3px solid #0071e3; outline-offset:4px; }
@media(max-width:620px) { .company-banner-viewport .company-banner-edge span { width:38px; height:38px; font-size:28px; } }
#page-solutions .solution-feature-cards.workbook-agents article > div:first-child { justify-content:center; }

.company-banner-card.is-local-preview .company-banner-image { object-fit:cover; }
.company-banner-preview-label { position:absolute; left:24px; bottom:18px; z-index:2; padding:6px 10px; background:rgba(10,15,22,.6); border-radius:4px; color:#fff; font-size:12px; line-height:1.5; }

/* Use vector geometry instead of font baselines for carousel controls. */
.company-banner-viewport .company-banner-edge span { display:grid; place-items:center; padding:0; line-height:0; }
.company-banner-viewport .company-banner-edge svg { display:block; width:24px; height:24px; }
@media(max-width:620px) { .company-banner-viewport .company-banner-edge svg { width:20px; height:20px; } }

@media(max-width:620px) { .company-banner-viewport .company-banner-edge { width:54px; } }
