.pc-banner { position: relative; width: 100%; background: #fff; }
.pc-banner__stage { position: relative; width: 100%; height: 0; padding-top: 56.2799043%; overflow: hidden; }
.pc-banner__track { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; transition: transform 480ms cubic-bezier(.22, 1, .36, 1); }
.pc-banner__slide { position: relative; flex: 0 0 100%; min-width: 0; height: 100%; }
.pc-banner__slide[hidden] { display: none; }
.pc-banner__image { display: block; width: 100%; height: 100%; object-fit: contain; }
.pc-banner button { font-family: Tahoma, Arial, sans-serif; cursor: pointer; }
.pc-banner__order { position: absolute; bottom: 4%; left: 50%; transform: translateX(-50%); padding: 13px 26px; border: 2px solid #fff; border-radius: 3px; background: #034080; color: #fff; font-size: 18px; font-weight: bold; line-height: 1.2; white-space: nowrap; box-shadow: 0 3px 10px rgba(0, 0, 0, .22); }
.pc-banner__order:hover { background: #002e61; }
.pc-banner__arrow { position: absolute; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #034080; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.pc-banner__arrow:hover { background: #e6eef7; }
.pc-banner__arrow--prev { left: 12px; }
.pc-banner__arrow--next { right: 12px; }
.pc-banner__pagination { position: absolute; right: 12px; bottom: 12px; display: flex; gap: 2px; padding: 2px; border-radius: 20px; background: #fff; }
.pc-banner__dot { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 0; background: transparent; }
.pc-banner__dot::after { content: ''; display: block; width: 9px; height: 9px; border: 1px solid #034080; border-radius: 50%; background: #fff; }
.pc-banner__dot[aria-pressed="true"]::after { background: #034080; }
.pc-banner button:focus-visible { outline: 3px solid #034080; outline-offset: 3px; box-shadow: 0 0 0 6px #fff; }
.pc-banner__status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
    .pc-banner__track { transition: none; }
}
@media (max-width: 600px) {
    .pc-banner__order { bottom: 3%; padding: 8px 13px; font-size: 14px; }
    .pc-banner__arrow { width: 32px; height: 36px; border-radius: 3px; }
    .pc-banner__arrow--prev { left: 4px; }
    .pc-banner__arrow--next { right: 4px; }
    .pc-banner__pagination { right: 4px; bottom: 4px; padding: 0; }
    .pc-banner__dot { width: 24px; height: 28px; }
}
