 
.acs-block { margin-top: clamp(24px, 3vw, 42px); }
.acs { position: relative; max-width: 1080px; margin: clamp(6px, 1vw, 14px) auto 0; }
.acs-stage { position: relative; perspective: 1700px; height: clamp(320px, 42vw, 570px); overflow-x: clip; overflow-y: visible; }
.acs__tile { position: absolute; top: 0; left: 0; right: 0; margin: 0 auto;
  width: clamp(340px, 62vw, 820px);
  transform-style: preserve-3d; will-change: transform, opacity;
  transition: transform 650ms var(--ease), opacity 650ms var(--ease); }
.acs__tile:not([data-pos="0"]) { cursor: pointer; }
.acs__tile[data-pos="0"] { transform: translateX(0) translateZ(0) scale(1); opacity: 1; z-index: 40; }
.acs__tile[data-pos="1"] { transform: translateX(30%) translateZ(-230px) rotateY(-22deg) scale(0.74); opacity: 0.5; z-index: 30; }
.acs__tile[data-pos="2"] { transform: translateX(0) translateZ(-440px) scale(0.54); opacity: 0.26; z-index: 10; }
.acs__tile[data-pos="3"] { transform: translateX(-30%) translateZ(-230px) rotateY(22deg) scale(0.74); opacity: 0.5; z-index: 30; }
.acs__tile::before { content: ''; position: absolute; z-index: 0; left: 50%; top: 2%; width: 104%; height: 84%;
  transform: translateX(-50%) scale(0.9);
  background: radial-gradient(ellipse 50% 52% at 50% 46%, rgba(250,148,24,0.40) 0%, rgba(250,148,24,0.12) 38%, transparent 72%);
  opacity: 0; pointer-events: none; transition: opacity 550ms var(--ease); }
.acs__tile[data-pos="0"]::before { opacity: 0.5; }
.acs__shot { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center;
  aspect-ratio: 16 / 10; padding: clamp(8px,1.4vw,18px); }
.acs__shot img { width: auto; max-width: 92%; height: auto; max-height: 100%; object-fit: contain; margin: 0 auto;
  filter: drop-shadow(0 24px 32px rgba(0,0,0,0.55)); }
.acs__card { position: absolute; z-index: 3; left: auto; right: 0; width: 54%; bottom: -6%;
  border-radius: 16px; overflow: hidden; padding: 15px 17px 16px;
  background: linear-gradient(180deg, rgba(34,34,34,0.74) 0%, rgba(20,20,20,0.8) 100%);
  -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 1px 0 rgba(255,255,255,0.07) inset, 0 26px 46px -22px rgba(0,0,0,0.62); color: #fff;
  opacity: 0; transform: translateY(8px); transition: opacity 500ms var(--ease) 120ms, transform 500ms var(--ease) 120ms; }
.acs__tile[data-pos="0"] .acs__card { opacity: 1; transform: translateY(0); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .acs__card { background: rgba(18,18,18,0.96); } }
.acs__code { font-family: 'Hanken Grotesk', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--tsa-orange); display: block; }
.acs__model { font-family: 'Anton', sans-serif; font-weight: 400; text-transform: uppercase; font-size: clamp(22px,2vw,30px); line-height: 1; color: #fff; margin: 3px 0 8px; }
.acs__codetag { font-family: 'Hanken Grotesk', sans-serif; font-weight: 700; font-size: 0.4em; letter-spacing: 0.16em; color: var(--muted-d); vertical-align: middle; margin-left: 7px; }
.acs__ch { display: inline-block; font-family: 'Hanken Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.04em; color: #fff; background: rgba(250,148,24,0.16); border: 1px solid rgba(250,148,24,0.4); border-radius: 100px; padding: 4px 11px; margin: 0 0 9px; }
.acs__spec { font-family: 'Hanken Grotesk', sans-serif; font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,0.82); margin: 0; }
.acs__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 11px; min-height: 24px; font-family: 'Hanken Grotesk', sans-serif; font-weight: 700; font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tsa-orange); text-decoration: none; transition: gap 200ms var(--ease); }  
.acs__cta:hover { gap: 10px; }
.acs__cta:focus-visible { outline: 2px solid var(--tsa-orange); outline-offset: 3px; }
 
button.acs__cta { background: none; border: 0; padding: 0; margin: 0; cursor: pointer; text-align: left; }
.acs__pill { position: absolute; z-index: 5; top: 3%; left: 50%; transform: translateX(-50%) translateY(-6px);
  display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; border-radius: 100px;
  font-family: 'Hanken Grotesk', sans-serif; font-weight: 700; font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; white-space: nowrap;
  color: #fff; background: linear-gradient(180deg, rgba(250,148,24,0.94), rgba(225,128,10,0.94));
  border: 1px solid rgba(255,255,255,0.28); box-shadow: 0 12px 28px -8px rgba(250,148,24,0.6);
  opacity: 0; pointer-events: none; transition: opacity 450ms var(--ease) 150ms; }
.acs__pill-dot { width: 7px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.9); }
.acs__tile--pop[data-pos="0"] .acs__pill { opacity: 1; }
.acs-arrow { position: absolute; top: 38%; z-index: 50; width: 44px; height: 44px; border-radius: 50%; cursor: pointer;
  border: 1px solid rgba(255,255,255,0.18); background: rgba(28,28,28,0.55);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  transition: background 240ms, border-color 240ms, transform 240ms var(--ease); }
.acs-arrow::before { content: ''; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px;
  border-right: 2px solid #fff; border-bottom: 2px solid #fff; }
.acs-arrow--prev { left: -8px; }
.acs-arrow--prev::before { transform: translate(-30%, -50%) rotate(135deg); }
.acs-arrow--next { right: -8px; }
.acs-arrow--next::before { transform: translate(-70%, -50%) rotate(-45deg); }
.acs-arrow:hover { background: var(--tsa-orange); border-color: var(--tsa-orange); }
.acs-arrow:focus-visible { outline: 2px solid var(--tsa-orange); outline-offset: 3px; }
.acs-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: clamp(16px, 2.2vw, 28px); }
.acs-tab { appearance: none; cursor: pointer; font-family: 'Hanken Grotesk', sans-serif; font-weight: 700;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted-d);
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12); border-radius: 100px; padding: 9px 18px;
  transition: color 240ms, background 240ms, border-color 240ms; }
.acs-tab:hover { color: #fff; border-color: rgba(255,255,255,0.3); }
.acs-tab[aria-selected="true"] { color: #1a1a1a; background: var(--tsa-orange); border-color: var(--tsa-orange); }
.acs-tab:focus-visible { outline: 2px solid var(--tsa-orange); outline-offset: 3px; }
.acs-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: no-preference) {
  .acs__tile[data-pos="0"] .acs__shot { animation: acsFloat 7s ease-in-out infinite; }
  .acs__tile--pop[data-pos="0"] .acs__pill { animation: acsPillFloat 3.4s ease-in-out infinite; }
}
@keyframes acsFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes acsPillFloat { 0%, 100% { transform: translateX(-50%) translateY(-6px); } 50% { transform: translateX(-50%) translateY(-11px); } }
body.modal-open .acs__tile[data-pos="0"] .acs__shot, body.modal-open .acs__pill { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .acs__tile, .acs__card, .acs__tile::before { transition: none; }
}
@media (max-width: 820px) {
   
  .acs { max-width: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px 14px; }
  .acs-stage { flex: 1 1 100%; height: clamp(400px, 120vw, 540px); }
  .acs__tile { width: min(82vw, 380px); }
  .acs__tile[data-pos="1"] { transform: translateX(24%) translateZ(-170px) rotateY(-16deg) scale(0.6); opacity: 0.32; }
  .acs__tile[data-pos="2"] { transform: translateX(0) translateZ(-330px) scale(0.46); opacity: 0.18; }
  .acs__tile[data-pos="3"] { transform: translateX(-24%) translateZ(-170px) rotateY(16deg) scale(0.6); opacity: 0.32; }
   
  .acs__card { position: static; width: 100%; right: auto; bottom: auto; margin-top: 10px; }
  .acs__tile:not([data-pos="0"]) .acs__card { display: none; }
  .acs-arrow { position: relative; top: auto; background: transparent; border: 1.5px solid rgba(255,255,255,0.4);
    -webkit-backdrop-filter: none; backdrop-filter: none; }
  .acs-arrow--prev { left: auto; order: 1; }
  .acs-arrow--next { right: auto; order: 3; }
  .acs .rail-dots { order: 2; }
  .acs-tabs { display: none; }  
}
 
@media (min-width: 821px) { .acs .rail-dots { display: none; } }
