/* Native-scroll company story with an accessible static base layout. */
#home .home-company { position: relative; background: #fff; color: #20252a; isolation: isolate; }
#home .home-company__stage { position: relative; padding: 112px 0 64px; }
#home .home-company__intro { width: 90%; max-width: 1520px; margin: 0 auto; text-align: center; }
#home .home-company .company-statement { margin: 0; color: #20252a; font-size: clamp(25px,2.35vw,42px); font-weight: 400; line-height: 1.9; letter-spacing: .02em; }
#home .company-statement__line { display: block; }
#home .company-statement__number { display: inline-block; padding: 0 .08em; color: #e53b40; font-size: clamp(64px,5.2vw,100px); font-weight: 600 !important; letter-spacing: -.03em !important; line-height: 1.25; vertical-align: -.055em; white-space: nowrap; }
#home .company-statement__capacity,#home .company-statement__unit { display: inline-block; white-space: nowrap; }
/* A typographic accent, with no additional award or certification symbolism. */
#home .company-statement__number.company-rank { position: relative; display: inline-flex; align-items: baseline; gap: .035em; padding: .035em .17em .09em; margin: 0 .06em; border-radius: .12em; background: linear-gradient(135deg,rgba(229,59,64,.065),rgba(229,59,64,.012)); }
#home .company-rank__prefix { font-size: .43em; line-height: 1; letter-spacing: .015em !important; }
#home .company-rank__value { font-size: 1em; line-height: 1; }
#home .company-rank::before,#home .company-rank::after { content: ''; position: absolute; width: .2em; height: .2em; border-color: rgba(229,59,64,.5); border-style: solid; pointer-events: none; }
#home .company-rank::before { left: 0; top: 0; border-width: 1px 0 0 1px; border-radius: .045em 0 0; }
#home .company-rank::after { right: 0; bottom: 0; border-width: 0 1px 1px 0; border-radius: 0 0 .045em; }
#home .home-company__details { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 5%; width: 88%; max-width: 1600px; margin: 64px auto 0; }
#home .home-company__profile { min-width: 0; }
#home .home-company__profile h3 { margin: 0; font-size: clamp(28px,2.2vw,42px); line-height: 1.4; color: #242b31; }
#home .home-company__profile p { margin: 26px 0 0; color: #70777d; font-size: 17px; line-height: 2; overflow-wrap: break-word; }
#home .home-company__more { margin-top: 28px; }
#home .home-company__more[hidden] { display: none !important; }
#home .home-company__visual { position: relative; width: 100%; height: clamp(340px,39vw,680px); margin: 0; overflow: hidden; border-radius: 16px; background: #dceaf1; }
#home .home-company__visual img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 67% 12%; }
#home .home-company.company-scroll-enabled { height: calc(var(--company-stage-height) * 2.6); }
#home .company-scroll-enabled .home-company__stage { position: sticky; top: var(--company-header-height,65px); height: var(--company-stage-height); padding: 0; overflow: hidden; isolation: isolate; }
#home .company-scroll-enabled .home-company__intro { position: absolute; z-index: 4; inset: 0; display: flex; justify-content: center; align-items: center; width: 90%; pointer-events: none; opacity: var(--company-copy-opacity,1); transform: translate3d(0,var(--company-copy-y,0px),0); }
/* The entry fade runs separately from the scroll-driven exit fade. */
#home .company-scroll-enabled .company-statement { opacity: 0; transform: translate3d(0,18px,0); transition: opacity 1.65s cubic-bezier(.2,0,.25,1) .1s,transform 1.9s cubic-bezier(.2,.65,.3,1) .1s; }
#home .company-scroll-enabled.is-company-entered .company-statement { opacity: 1; transform: translate3d(0,0,0); }
#home .company-scroll-enabled .home-company__details { position: absolute; inset: 0; display: block; width: 100%; max-width: none; margin: 0; }
#home .company-scroll-enabled .home-company__visual { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; opacity: var(--company-image-opacity,0); border-radius: var(--company-image-radius,24px); transform-origin: center center; transform: translate3d(0,var(--company-image-y,32vh),0) scale(var(--company-image-scale,.34)); will-change: transform,opacity; }
#home .company-scroll-enabled .home-company__details::after { content: ''; position: absolute; z-index: 2; inset: 0; pointer-events: none; opacity: var(--company-profile-opacity,0); background: linear-gradient(90deg,#fff 0%,#fff 39%,rgba(255,255,255,.97) 44%,rgba(255,255,255,.72) 50%,rgba(255,255,255,0) 63%); }
#home .company-scroll-enabled .home-company__profile { position: absolute; z-index: 3; left: 6%; top: 50%; width: min(36%,600px); opacity: var(--company-profile-opacity,0); transform: translate3d(0,calc(-50% + var(--company-profile-y,24px)),0); pointer-events: none; }
#home .company-scroll-enabled.is-company-profile-visible .home-company__profile { pointer-events: auto; }
@media (max-width: 1200px) {
  #home .home-company__profile p { margin-top: 22px; font-size: 15px; line-height: 1.95; }
  #home .home-company__more { margin-top: 24px; }
}
@media (max-width: 1000px) {
  #home .home-company__stage { padding: 80px 0 48px; }
  #home .home-company .company-statement { font-size: clamp(24px,3vw,30px); line-height: 1.95; }
  #home .company-statement__number { font-size: clamp(60px,7vw,78px); }
}
@media (max-width: 900px) {
  #home .home-company__details { display: flex; flex-direction: column; gap: 28px; width: 90%; }
  #home .home-company__visual { height: 66vw; max-height: 540px; }
  #home .home-company__visual img { object-position: 80% 50%; }
  #home .company-scroll-enabled .home-company__details { display: block; width: 100%; }
  #home .company-scroll-enabled .home-company__visual { height: 100%; max-height: none; }
  #home .company-scroll-enabled .home-company__profile { left: 5%; right: 5%; top: auto; bottom: 24px; width: auto; transform: translate3d(0,var(--company-profile-y,24px),0); }
  #home .company-scroll-enabled .home-company__details::after { background: linear-gradient(0deg,#fff 0%,#fff 48%,rgba(255,255,255,.98) 56%,rgba(255,255,255,.4) 72%,rgba(255,255,255,0) 84%); }
  #home .home-company__profile h3 { font-size: 30px; }
  #home .home-company__profile p { margin-top: 18px; font-size: 14px; line-height: 1.85; }
  #home .home-company__more { margin-top: 22px; }
}
@media (max-width: 600px) {
  #home .home-company__stage { padding: 64px 0 40px; }
  #home .home-company .company-statement { font-size: 21px; line-height: 1.95; }
  #home .company-statement__number { font-size: clamp(52px,13.5vw,64px); padding: 0 .045em; }
  #home .home-company__visual { border-radius: 12px; }
  #home .home-company__profile h3 { font-size: 28px; }
}
@media (max-height: 520px) {
  #home .home-company .company-statement { font-size: 23px; line-height: 1.6; }
  #home .company-statement__number { font-size: 54px; }
  #home .company-scroll-enabled .home-company__profile { width: 38%; left: 5%; }
  #home .home-company__profile h3 { font-size: 25px; line-height: 1.25; }
  #home .home-company__profile p { margin-top: 10px; font-size: 12.5px; line-height: 1.6; }
  #home .home-company__more { margin-top: 12px; height: 40px !important; min-height: 40px !important; padding: 8px 20px !important; font-size: 13px !important; }
  #home .company-scroll-enabled .home-company__visual img { object-position: 67% 0; }
}
@media (max-height: 520px) and (max-width: 900px) {
  #home .company-scroll-enabled .home-company__profile { width: auto; right: 5%; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce), print {
  #home .home-company.company-scroll-enabled { height: auto; }
  #home .company-scroll-enabled .home-company__stage { position: relative; top: auto; height: auto; padding: 64px 0 40px; overflow: visible; }
  #home .company-scroll-enabled .home-company__intro { position: relative; inset: auto; display: block; opacity: 1; transform: none; }
  #home .company-scroll-enabled .company-statement { opacity: 1; transform: none; transition: none; }
  #home .company-scroll-enabled .home-company__details { position: relative; inset: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5%; width: 90%; margin: 36px auto 0; }
  #home .company-scroll-enabled .home-company__details::after { display: none; }
  #home .company-scroll-enabled .home-company__profile { position: relative; inset: auto; width: auto; opacity: 1; transform: none; pointer-events: auto; }
  #home .company-scroll-enabled .home-company__visual { position: relative; inset: auto; height: 58vw; max-height: 680px; opacity: 1; transform: none; border-radius: 12px; will-change: auto; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 900px), print {
  #home .company-scroll-enabled .home-company__details { display: flex; flex-direction: column; }
}
@media print { #home .home-company__more[hidden] { display: inline-flex !important; } }
