/* English content resilience layer.
 * Loaded after page-specific styles so longer copy can wrap and grow without
 * changing the established type scale or the Chinese layouts. */

html[lang="en"],
html[lang="en"] body{
  max-width:100%;
  overflow-x:clip;
}

html[lang="en"] :is(h1,h2,h3,h4,h5,p,span,a,li,button,strong,b,small,em,label,dt,dd){
  max-width:100%;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

/* CMS headings and body copy must never lose translated text to a clamp. */
html[lang="en"] body main :is(h1,h2,h3,h4,h5,h6,p){
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
}

/* Every common Flex/Grid boundary must be allowed to shrink. */
html[lang="en"] :where(main,section,article,aside,header,footer,nav,form,fieldset,div,ul,ol,dl)>*,
html[lang="en"] :where(h1,h2,h3,h4,h5,p,span,a,li,button,strong,small,em,b){
  min-width:0;
}

/* Long machine-readable strings may break anywhere; normal prose may not. */
html[lang="en"] :is(a[href^="mailto:"],a[href^="tel:"],code,pre,.url,.email){
  overflow-wrap:anywhere!important;
}

/* Text-bearing cards grow with English copy. Grid/Flex still provides equal
 * row stretching where the surrounding layout needs it. */
html[lang="en"] body main article{
  height:auto!important;
}

html[lang="en"] body main article :is(h1,h2,h3,h4,h5,p,strong),
html[lang="en"] body main :is(
  .hub-card,.product-tier-card,.product-process-card,.capability,.service-stage,
  .assurance,.match-item,.about-strength-grid>article,.about-choice-grid>article,
  .partner-mode-grid>article,.partner-support-grid>article,.contact-cards>article
) :is(h1,h2,h3,h4,h5,p,strong){
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}

/* Actions keep their padding and type size, but can wrap and become taller. */
html[lang="en"] body main :is(
  .hub-hero-actions,.about-hero-actions,.institute-hero-actions,.coop-hero-actions,
  .partner-hero-actions,.ad-cover-actions,.purchase-actions,.cta-actions,
  .scenario-card-actions,.site-final-cta,.hub-final-cta
) a{
  box-sizing:border-box;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  min-height:44px;
  padding-block:10px!important;
  padding-inline:24px!important;
  text-align:center;
  white-space:normal!important;
}

html[lang="en"] body main button{
  max-width:100%;
}

/* The shared button normalizer uses high-specificity fixed heights and
 * nowrap on desktop. English hero actions need a real text track so their
 * labels contribute to button height before the icon track. */
html[lang="en"] body main :is(
  #english-action-resilience,
  .hero-actions>a,.hub-hero-actions>a,.about-hero-actions>a,
  .institute-hero-actions>a,.coop-hero-actions>a,.partner-hero-actions>a,
  .ad-cover-actions>a,.purchase-actions>a,.scenario-card-actions>a
){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  width:fit-content!important;
  max-width:100%!important;
  height:auto!important;
  min-height:46px!important;
  max-height:none!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:10px!important;
  padding-block:10px!important;
  line-height:1.4!important;
  text-align:center!important;
  white-space:normal!important;
}

/* Wide data stays within the viewport instead of widening the page. */
html[lang="en"] :is(.delivery-table,.comparison-table,.table-wrap,.kc-table-wrap){
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

html[lang="en"] table :is(th,td){
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

/* Navigation, compact controls and current-page crumbs are intentional
 * single-line exceptions. */
html[lang="en"] .site-header :is(
  .main-nav-link,.main-nav-trigger,.account-button,.header-consult-button,
  .language-switch
),
html[lang="en"] .site-header :is(
  .main-nav-link,.main-nav-trigger,.account-button,.header-consult-button,
  .language-switch
) *,
html[lang="en"] :is(.pagination,.content-pagination,.faq-pagination-shell) :is(a,button,span),
html[lang="en"] :is(.hero-breadcrumb,.hub-breadcrumb,.pd-breadcrumb,.case-breadcrumb,.ad-breadcrumb)>
  :is(b,strong,[aria-current="page"]){
  white-space:nowrap!important;
  overflow-wrap:normal!important;
}

/* The three office columns are the clearest previous collision case. */
html[lang="en"] body main.page-about .about-choice-section
  .about-company-card.about-company-card>aside{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  min-width:0!important;
}

html[lang="en"] body main.page-about .about-choice-section
  .about-company-card.about-company-card>aside>span,
html[lang="en"] body main.page-about .about-choice-section
  .about-company-card.about-company-card>aside>span>b{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

/* Product grids previously reserved one-line heights for Chinese copy. */
html[lang="en"] body main.page-products :is(
  .product-tier-card,.product-capabilities-section .hub-card,.product-process-card,
  .product-related-grid>a
) :is(h2,h3,p,strong,li),
html[lang="en"] body main.pd-page :is(
  .block-head,.capability,.service-stage,.assurance,.match-item,.article-directory-copy
) :is(h2,h3,p,strong,span){
  height:auto!important;
  min-height:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Detail templates use compact Chinese card caps by default. English titles
 * and descriptions need to define the card height instead of being clipped. */
html[lang="en"] body main:is(
  #qie-product-detail-v2,#qie-scenario-detail-v2,
  #qie-case-detail-v2,#qie-solution-detail-v2
) .recommended-products-grid .recommended-product-body :is(h3,p),
html[lang="en"] body main:is(
  #qie-product-detail-v2,#qie-scenario-detail-v2,
  #qie-case-detail-v2,#qie-solution-detail-v2
) .decision-module .entity-link :is(strong,span:last-child){
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
}

html[lang="en"] body main:is(
  #qie-product-detail-v2,#qie-scenario-detail-v2,
  #qie-case-detail-v2,#qie-solution-detail-v2
) .decision-module .entity-link .entity-type{
  display:inline-flex!important;
  width:auto!important;
  height:auto!important;
  min-height:22px!important;
  max-height:none!important;
  align-items:center;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}

/* Scenario list fields are CMS content, not fixed-height teaser copy. */
html[lang="en"] body main.page-scenarios :is(
  #scenarioPageTopGeneralContents .scenario-stage-index>a>span>small,
  #scenarioPageTopGeneralContents .scenario-overview figcaption>strong,
  #scenarioPageTopGeneralContents .scenario-stage-index>a>span>strong,
  #scenarioPageTopGeneralContents .scenario-overview-copy>header>h3,
  #scenarioPageTopGeneralContents .scenario-overview-copy>header>p,
  #scenarioPageGeneralContents .scenario-stage-head h2,
  #scenarioPageGeneralContents .scenario-stage-head>span,
  #scenarioPageGeneralContents .scenario-stage-copy>h3,
  #scenarioPageGeneralContents .scenario-stage-copy>p,
  #scenarioPageGeneralContents .scenario-stage-copy>div>span>em,
  #scenarioPageGeneralContents .scenario-stage-list>article>aside>strong,
  #scenarioPageGeneralContents .scenario-stage-list>article>aside>span,
  #scenarioPageGeneralContents .scenario-proof>span,
  #scenarioPageRelatedPaths .context-title-lines,
  #scenarioPageRelatedPaths .context-scenario>.section-shell>header>span,
  #scenarioPageRelatedPaths .scenario-related-grid>a>div>h3,
  #scenarioPageRelatedPaths .scenario-related-grid>a>div>p
){
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
}

html[lang="en"] body main.page-scenarios :is(
  #scenarioPageTopGeneralContents .scenario-overview figcaption>small,
  #scenarioPageTopGeneralContents .scenario-overview figcaption>span,
  #scenarioPageGeneralContents .scenario-stage-list>article>figure>b,
  #scenarioPageGeneralContents .scenario-stage-copy>small,
  #scenarioPageGeneralContents .scenario-stage-copy>div>span>b,
  #scenarioPageGeneralContents .scenario-stage-list>article>aside>small,
  #scenarioPageGeneralContents .scenario-proof>b,
  #scenarioPageGeneralContents .scenario-loss-text,
  #scenarioPageRelatedPaths .scenario-related-grid>a>div>small
){
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}

/* About and partnership cards keep their designed minimum rhythm while
 * growing for translated copy. */
html[lang="en"] body main.page-about .about-vertical-copy.about-vertical-copy>ul>li{
  height:auto!important;
  min-height:134px!important;
  max-height:none!important;
}

html[lang="en"] body main.page-about .about-strength-grid.about-strength-grid>article{
  height:auto!important;
  min-height:300px!important;
  max-height:none!important;
}

html[lang="en"] body main.page-about .about-strength-grid.about-strength-grid>article>b{
  width:100%!important;
  height:auto!important;
  min-height:20px!important;
  max-height:none!important;
  white-space:normal!important;
}

html[lang="en"] body main.page-about .about-choice-section .about-choice-grid.about-choice-grid>article{
  height:auto!important;
  min-height:200px!important;
  max-height:none!important;
}

html[lang="en"] body main.page-partners .partner-modes
  .partner-mode-grid>article dl>.revenue{
  height:auto!important;
  min-height:92px!important;
  max-height:none!important;
}

html[lang="en"] body main.page-partners .partner-modes
  .partner-mode-grid>article dl{
  grid-template-rows:repeat(4,auto)!important;
  min-height:0!important;
}

html[lang="en"] body main.page-partners .partner-modes
  .partner-mode-grid>article dl>div{
  height:auto!important;
  min-height:96px!important;
  overflow:visible!important;
}

html[lang="en"] body main.page-solutions .solution-workbench-board
  >.workbench-output>div>span>b{
  display:inline-block!important;
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  flex:0 0 22px!important;
  text-align:center;
  white-space:nowrap!important;
}

/* Compact Chinese labels in these modules use one-line fixed heights. Keep
 * their visual minimums while allowing translated labels to wrap and grow. */
html[lang="en"] body main.page-home .engine-grid .module-top{
  height:auto!important;
  min-height:26px!important;
  flex-wrap:wrap!important;
}

/* The home video hero is viewport-sized for the original copy. Preserve that
 * first-screen depth, but let longer English scenes create additional space
 * above the absolutely positioned playback controls. */
html[lang="en"] body main.page-home .hero{
  box-sizing:border-box!important;
  height:auto!important;
  min-height:clamp(620px,calc(100svh - 192px),790px)!important;
}

html[lang="en"] body main.page-home .hero-shell{
  box-sizing:border-box!important;
  height:auto!important;
  min-height:inherit!important;
  padding-block:90px 120px!important;
}

html[lang="en"] body main.page-home .hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
}

html[lang="en"] body main.page-home .engine-grid>article{
  grid-template-rows:auto minmax(26px,auto) auto minmax(0,1fr) auto!important;
}

html[lang="en"] body main.page-home .engine-grid .module-top>span{
  box-sizing:border-box!important;
  width:auto!important;
  height:auto!important;
  min-height:26px!important;
  white-space:normal!important;
}

html[lang="en"] body main.page-cooperation .coop-path-grid .path-index{
  height:auto!important;
  min-height:33px!important;
  flex-wrap:wrap!important;
}

html[lang="en"] body main.page-cooperation .coop-path-grid .path-index>span{
  box-sizing:border-box!important;
  width:auto!important;
  height:auto!important;
  min-height:24px!important;
  padding:3px 9px!important;
  line-height:1.45!important;
  white-space:normal!important;
}

html[lang="en"] body main.page-solutions .solution-workbench-board>.workbench-loop{
  flex-wrap:wrap!important;
  height:auto!important;
  white-space:normal!important;
}

html[lang="en"] body main.page-cooperation .pricing-factors>div>span>b{
  display:inline-block!important;
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  flex:0 0 22px!important;
  text-align:center;
  white-space:nowrap!important;
}

/* The solution-model outcome is long in English. Give it a real grid column
 * instead of positioning it over the explanatory copy. */
@media(min-width:601px){
  html[lang="en"] body main.page-solutions .solution-workbench-board
    >.workbench-model article{
    display:grid!important;
    grid-template-columns:27px minmax(0,1fr) minmax(120px,160px)!important;
    align-items:center!important;
    gap:12px!important;
    padding:14px 16px!important;
  }

  html[lang="en"] body main.page-solutions .solution-workbench-board
    >.workbench-model article>b,
  html[lang="en"] body main.page-solutions .solution-workbench-board
    >.workbench-model article>em{
    position:static!important;
  }

  html[lang="en"] body main.page-solutions .solution-workbench-board
    >.workbench-model article>em{
    width:auto!important;
    max-width:160px!important;
    justify-self:end;
    text-align:center;
    white-space:normal!important;
  }
}

/* Legacy article/FAQ templates absolutely position metadata for short Chinese
 * excerpts. Keep every English field in normal flow so the card can grow. */
html[lang="en"] body main .newsOneSwiperBox .mySwiper-news-oneSwiper
  .swiper-slide .swiper-slide-con :is(.textOne,.textTwo)>a,
html[lang="en"] body main .tab-content .tab-pane :is(.news,.newsItem)
  .item .rights :is(.title,.con,.info),
html[lang="en"] body main .news-hot-essay-box .list .item .title,
html[lang="en"] body main .news-hot-essay-box .list .item .title>a,
html[lang="en"] body main .news-recommend-essay-box .con .item .right .title,
html[lang="en"] body main .news-detail-hotProduct-box
  .mySwiper-news-hot-product .product-name>a,
html[lang="en"] body main .webpageTemplate-text .sumUp a,
html[lang="en"] body main :is(#blogsDetailsInfo,#faqDetailsInfo) .sumUp a{
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
}

/* Blog and FAQ listing pages keep the same truncation limits as Chinese. */
html[lang="en"] body main :is(#blogsPageTopArticles,#faqPageTopFaqs)
  .mySwiper-news-oneSwiper .swiper-slide .swiper-slide-con
  :is(.textOne,.textTwo)>a,
html[lang="en"] body main :is(#blogsPageHotProducts,#faqPageHotProducts)
  .mySwiper-news-hot-product .product-name>a,
html[lang="en"] body main :is(
  #blogsPageRecommendedArticles,
  #faqPageRecommendedArticles,
  #faqPageRelatedArticles
) .news-recommend-essay-box .con .item .right>.title{
  display:-webkit-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
}

html[lang="en"] body main :is(#blogsPageArticles,#faqPageFaqList)
  .tab-pane :is(.news,.newsItem) .item .rights>.title,
html[lang="en"] body main :is(#blogsPageArticles,#faqPageFaqList)
  .tab-pane :is(.news,.newsItem) .item .rights>.con,
html[lang="en"] body main :is(#blogsPageArticles,#faqPageFaqList)
  .tab-pane :is(.news,.newsItem) .item .rights>.info{
  display:-webkit-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  -webkit-box-orient:vertical!important;
}

html[lang="en"] body main :is(#blogsPageArticles,#faqPageFaqList)
  .tab-pane :is(.news,.newsItem) .item .rights>.title,
html[lang="en"] body main :is(#blogsPageArticles,#faqPageFaqList)
  .tab-pane :is(.news,.newsItem) .item .rights>.info{
  -webkit-line-clamp:1!important;
  line-clamp:1!important;
}

html[lang="en"] body main :is(#blogsPageArticles,#faqPageFaqList)
  .tab-pane :is(.news,.newsItem) .item .rights>.con{
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
}

html[lang="en"] body main :is(#blogsPageHotArticles,#faqPageHotArticles)
  .news-hot-essay-box .list .item .title,
html[lang="en"] body main :is(#blogsPageHotArticles,#faqPageHotArticles)
  .news-hot-essay-box .list .item .title>a{
  display:-webkit-box!important;
  width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:1!important;
  line-clamp:1!important;
}

html[lang="en"] body main :is(#blogsPageColumn,#faqPageColumn)
  .tab-container .category-name>a{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

html[lang="en"] body main .newsOneSwiperBox .mySwiper-news-oneSwiper
  .swiper-slide .swiper-slide-con .date{
  margin-top:24px!important;
}

html[lang="en"] body main .tab-content .tab-pane :is(.news,.newsItem)
  .item .rights{
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
}

html[lang="en"] body main .tab-content .tab-pane :is(.news,.newsItem)
  .item .rights :is(.info,.dataBox,.authorDate){
  position:static!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:12px!important;
}

html[lang="en"] body main .news-recommend-essay-box .con .item .right{
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
  gap:10px!important;
}

html[lang="en"] body main .news-recommend-essay-box .con .item .right
  :is(.title,.date,.read){
  position:static!important;
  inset:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

html[lang="en"] body main .news-hot-essay-box .list .item:first-child .title{
  position:relative;
  padding-right:28px;
}

html[lang="en"] body main :is(.line-clamp-1,.line-clamp-2),
html[lang="en"] body main:is(.page-knowledge,.page-faq)
  :is(.knowledge-feature-card,.faq-feature-card) :is(h2,p),
html[lang="en"] body main.page-knowledge
  :is(.knowledge-article-row h3,.knowledge-article-row p,
      .knowledge-product-card h3,.knowledge-list-title){
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
}

/* Legacy recommendation widgets and detail-page article directories still
 * carry one-to-three-line caps in their local styles. */
html[lang="en"] body main :is(.reading-title,.recommend-title),
html[lang="en"] body main.pd-page .article-directory-copy>strong{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
}

html[lang="en"] body main.pd-page .article-directory-item{
  display:grid!important;
  height:auto!important;
  min-height:98px!important;
  padding-block:14px!important;
  overflow:visible!important;
}

/* Final CTA rules deliberately use ID-level specificity in the base theme.
 * Match that specificity so English labels can wrap and grow. */
html[lang="en"] body main :is(#site-final-cta-rules,section.site-final-cta).site-final-cta.site-final-cta.site-final-cta:not(#home-final-cta-rules)
  :is(.section-shell>a,.section-shell>aside>a:not(.partner-phone),.cta-actions>a,.partner-apply),
html[lang="en"] body main section.final-cta.final-cta .cta-actions>a{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-content:stretch!important;
  height:auto!important;
  min-height:50px!important;
  max-height:none!important;
  gap:10px!important;
  padding-block:10px!important;
  line-height:1.4!important;
  text-align:center!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}

html[lang="en"] body main.page-contact .hub-section-head .hub-title-lines{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  white-space:normal!important;
}

/* Shared sidebar copy is translated too, but its original styles clamp it. */
html[lang="en"] #pageSidebarContent .sideBarBottom .hoverBox{
  max-height:none!important;
}

html[lang="en"] #pageSidebarContent .sideBarBottom :is(
  .hoverBox .hoverText,.contactInquiry .sideContactTab .text
){
  display:block!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
}

/* GEO assessment card labels were dimensioned for four Chinese characters. */
html[lang="en"] body main.page-geo-diagnosis
  .grid-geo-diagnosis.grid-geo-diagnosis>.hub-card>.hub-card-meta{
  position:relative!important;
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  width:100%!important;
  height:auto!important;
  min-height:24px!important;
  max-height:none!important;
  align-items:stretch!important;
  overflow:visible!important;
  font-size:12px!important;
  line-height:1.45!important;
  white-space:normal!important;
}

html[lang="en"] body main.page-geo-diagnosis
  .grid-geo-diagnosis.grid-geo-diagnosis>.hub-card>.hub-card-meta::before,
html[lang="en"] body main.page-geo-diagnosis
  .grid-geo-diagnosis.grid-geo-diagnosis>.hub-card>.hub-card-meta::after{
  display:none!important;
  content:none!important;
}

html[lang="en"] body main.page-geo-diagnosis
  .grid-geo-diagnosis.grid-geo-diagnosis>.hub-card>.hub-card-meta :is(span,em){
  position:static!important;
  display:flex!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:24px!important;
  max-height:none!important;
  align-items:center!important;
  padding:3px 8px!important;
  overflow:visible!important;
  font-size:12px!important;
  line-height:1.45!important;
  text-overflow:clip!important;
  white-space:normal!important;
}

html[lang="en"] body main.page-geo-diagnosis
  .grid-geo-diagnosis.grid-geo-diagnosis>.hub-card>.hub-card-meta span{
  color:#fff!important;
  background:#ed6e63!important;
}

html[lang="en"] body main.page-geo-diagnosis
  .grid-geo-diagnosis.grid-geo-diagnosis>.hub-card>.hub-card-meta em{
  color:#4e5969!important;
  background:linear-gradient(90deg,rgba(237,110,99,.25),rgba(237,110,99,0))!important;
}

/* Desktop custom heroes retain their minimum visual depth, but translated
 * headings can now add height instead of leaving the fixed stage. */
@media(min-width:801px){
  html[lang="en"] body main.page-solutions #solutionPageCustomModule .photo-hero,
  html[lang="en"] body main.page-scenarios #scenarioPageCustomModule .photo-hero,
  html[lang="en"] body main.page-cases #casePageCustomModule .photo-hero{
    height:auto!important;
    min-height:620px!important;
  }
}

@media(max-width:760px){
  html[lang="en"] body main.page-home .hero{
    min-height:max(650px,calc(100svh - 64px))!important;
  }

  html[lang="en"] body main.page-home .hero-shell{
    padding-block:72px 120px!important;
  }

  html[lang="en"] body main :is(
    .hub-hero-actions,.about-hero-actions,.institute-hero-actions,.coop-hero-actions,
    .partner-hero-actions,.ad-cover-actions,.purchase-actions,.cta-actions,.hero-actions
  ){
    align-items:stretch;
    grid-template-columns:minmax(0,1fr)!important;
  }

  html[lang="en"] body main :is(
    .hub-hero-actions,.about-hero-actions,.institute-hero-actions,.coop-hero-actions,
    .partner-hero-actions,.ad-cover-actions,.purchase-actions,.cta-actions,.hero-actions
  ) a{
    width:100%!important;
  }

  html[lang="en"] body main :is(
    #english-action-resilience,
    .hero-actions>a,.hub-hero-actions>a,.about-hero-actions>a,
    .institute-hero-actions>a,.coop-hero-actions>a,.partner-hero-actions>a,
    .ad-cover-actions>a,.purchase-actions>a,.scenario-card-actions>a
  ){
    width:100%!important;
  }

  html[lang="en"] body main.page-about .about-vertical-copy.about-vertical-copy>ul>li{
    min-height:0!important;
  }

  html[lang="en"] body main.page-solutions .solution-hero-pillars>div>span{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin:0 0 2px!important;
    transform:none!important;
  }

  html[lang="en"] body main.hub-page .photo-hero .hub-breadcrumb{
    left:0!important;
    right:0!important;
    width:auto!important;
  }

  html[lang="en"] body main.page-products .products-breadcrumb-track .hub-breadcrumb{
    left:0!important;
    right:0!important;
    width:auto!important;
  }

  html[lang="en"] body main.page-partners .partner-modes
    .partner-mode-grid>article dl>div{
    min-height:0!important;
  }

  html[lang="en"] body main.pd-page .article-directory-item{
    grid-template-columns:minmax(0,1fr) 26px!important;
    grid-template-rows:auto auto!important;
    gap:8px 10px!important;
  }

  html[lang="en"] body main.pd-page .article-directory-copy{
    grid-column:1!important;
    grid-row:1!important;
  }

  html[lang="en"] body main.pd-page .article-directory-meta{
    grid-column:1!important;
    grid-row:2!important;
    flex-wrap:wrap!important;
    padding-left:0!important;
    border-left:0!important;
  }

  html[lang="en"] body main.pd-page .article-directory-item>i{
    grid-column:2!important;
    grid-row:1 / span 2!important;
  }
}

@media(max-height:760px) and (min-width:801px){
  html[lang="en"] body main.page-home .hero{
    min-height:650px!important;
  }
}
