.philosophy-panel { overflow: hidden; cursor: pointer; }
.philosophy-front { transition: transform 800ms ease-in-out; z-index: 1; }
.philosophy-caption { transform: translateX(-80px); opacity: 0; transition: transform 800ms ease-in-out, opacity 800ms ease-in-out; }
.philosophy-panel.is-revealed > .philosophy-front { transform: translateX(-100%); pointer-events: none; }
.philosophy-panel.is-revealed .philosophy-caption { transform: translateX(0); opacity: 1; transition-delay: 400ms; }
.philosophy-panel:focus-visible { outline-offset: -4px; }
.factory-photo { position: absolute; }
.factory-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.factory-tabs { position: absolute; left: 0; top: 0; width: 603px; height: 750px; z-index: 2; pointer-events: none; }
.factory-tab { position: absolute; left: 0; width: 390px; height: 116px; display: flex; align-items: center; gap: 32px; padding: 0 42px; text-align: left; background: transparent; color: #9b9b9b; transition: width 250ms, background 250ms, color 250ms; pointer-events: auto; }
.factory-number { font-size: 50px; font-weight: 700; color: transparent; -webkit-text-stroke: 1px #999; }
.factory-label { font-size: 30px; white-space: nowrap; }
.factory-label-selected { display: none; }
.factory-tab[aria-selected="true"] .factory-label-default { display: none; }
.factory-tab[aria-selected="true"] .factory-label-selected { display: block; }
.factory-label small { display: none; margin-top: 8px; font-size: 20px; font-weight: 400; }
.factory-tab[aria-selected="true"] { width: 603px; gap: 42px; background: #e80a26; color: #fff; }
.factory-tab[aria-selected="true"] .factory-label { font-size: 32px; font-weight: 500; }
.factory-tab[aria-selected="true"] .factory-label small { display: block; }
.factory-tab[aria-selected="true"] .factory-number { flex: 0 0 82px; font-size: 80px; -webkit-text-stroke-color: #fff; }
.factory-tab-icon { width: 18px; height: 18px; position: absolute; right: 49px; }
.factory-tab-icon::before, .factory-tab-icon::after { content: ""; position: absolute; background: currentColor; }
.factory-tab-icon::before { width: 18px; height: 1px; left: 0; top: 8px; }
.factory-tab-icon::after { width: 1px; height: 18px; top: 0; left: 8px; }
.factory-tab[aria-selected="true"] .factory-tab-icon { transform: rotate(-45deg); border-right: 4px solid currentColor; border-bottom: 4px solid currentColor; }
.factory-tab[aria-selected="true"] .factory-tab-icon::before, .factory-tab[aria-selected="true"] .factory-tab-icon::after { display: none; }
.factory-empty { position: absolute; left: 390px; top: 0; width: 1362px; height: 853px; background: #f0f2f6; color: #676b77; font-size: 28px; align-items: center; justify-content: center; }
.factory-empty:not([hidden]) { display: flex; }
.uniform-carousel { position: absolute; width: 1920px; height: 860px; left: 251px; }
.uniform-cards { position: absolute; inset: 0; overflow: clip; }
.uniform-card { position: absolute; top: 0; left: 0; width: 474px; height: 787px; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; transform-origin: top left; border-radius: 24px; overflow: hidden; background: #fff; color: #13133a; text-align: left; box-shadow: 0 20px 20px #2129500d; }
.uniform-card::after { content: ""; position: absolute; inset: 0; background: #fff7; pointer-events: none; opacity: 1; transition: opacity 650ms; }
.uniform-card[data-offset="-1"]::after, .uniform-card[data-offset="1"]::after { opacity: 0.35; }
.uniform-card.is-active::after, .uniform-card:hover::after { opacity: 0; }
.uniform-card > img { display: block; width: 100%; height: 632px; flex: 0 0 632px; object-fit: cover; pointer-events: none; }
.uniform-card > strong { display: block; margin: 28px 40px 10px; font-size: 32px; font-weight: 500; }
.uniform-description { display: block; margin: 0 40px; font-size: 21px; color: #8a8995; }
.uniform-tag { position: absolute; left: 40px; top: 589px; padding: 7px 20px; background: #e9102b; color: #fff; font-size: 24px; border-radius: 26px 26px 26px 0; }
.uniform-card:hover, .uniform-card:focus-visible { outline: 2px solid #e9102b; outline-offset: 3px; }
.uniform-card.is-active { outline: 2px solid #e9102b; outline-offset: -2px; }
.carousel-controls { position: absolute; top: 810px; left: 0; right: 0; display: flex; align-items: center; justify-content: center; gap: 12px; }
.carousel-dot { position: relative; width: 26px; height: 30px; background: transparent; }
.carousel-dot::after { content: ""; position: absolute; width: 8px; height: 8px; left: 9px; top: 11px; border-radius: 50%; background: #c6c8d0; }
.carousel-dot[aria-current="true"]::after { width: 24px; left: 1px; border-radius: 5px; background: #e9102b; }
.carousel-arrow { position: absolute; top: 335px; width: 54px; height: 54px; background: #fffffff2; border-radius: 50%; color: #e9102b; box-shadow: 0 4px 20px #0001; z-index: 4; }
.carousel-arrow.previous { left: 20px; }
.carousel-arrow.next { right: 20px; }
.carousel-arrow::before { content: ""; display: block; width: 13px; height: 13px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; margin: auto; transform: rotate(45deg); }
.carousel-arrow.previous::before { transform: rotate(-135deg); }
.partner-row { position: absolute; width: 1920px; overflow: hidden; }
.partner-row:focus-visible { outline-offset: -4px; }
.partner-track { position: absolute; top: 0; height: 100%; }
.partner-fade { pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .uniform-card, .factory-tab { transition: none; }
  html:not([data-philosophy-motion="full"]) .philosophy-front,
  html:not([data-philosophy-motion="full"]) .philosophy-caption { transition: none; }
  html:not([data-philosophy-motion="full"]) .philosophy-panel.is-revealed > .philosophy-front,
  html:not([data-philosophy-motion="full"]) .philosophy-panel.is-revealed .philosophy-caption { transition-duration: 0s; transition-delay: 0s; }
}
