.parking-hero { position: relative; isolation: isolate; overflow: hidden; padding: calc(var(--header) + 6rem) 0 7rem; }
.parking-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.94) 0%, rgba(0,27,53,.84) 48%, rgba(0,27,53,.68) 100%); pointer-events: none; }
.parking-hero-background-video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; }
.parking-hero .hero-grid-pattern { z-index: 2; }
.parking-hero-grid { position: relative; z-index: 3; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 6vw; }
.parking-hero h1 { margin: 1rem 0 1.5rem; font-size: clamp(3rem, 5.2vw, 5.2rem); }
.parking-hero-lead { max-width: 760px; margin-bottom: 2rem; color: rgba(255,255,255,.72); font-size: 1.05rem; }
.parking-hero-media { position: relative; }
.parking-hero-media::before { content: ""; position: absolute; inset: -20px 20px 20px -20px; border: 1px solid rgba(86,198,242,.25); }
.parking-hero-media img { position: relative; width: 100%; min-height: 500px; object-fit: cover; }
.parking-live-label { position: absolute; right: 0; bottom: 0; display: flex; align-items: center; gap: .65rem; padding: .85rem 1rem; background: var(--navy); color: var(--white); font-size: .65rem; font-weight: 700; }
.parking-live-label span { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 12px var(--blue); }
.parking-anchor-nav { position: sticky; top: var(--header); z-index: 40; border-bottom: 1px solid var(--line); background: var(--white); box-shadow: 0 8px 24px rgba(0,38,74,.05); }
.parking-anchor-nav .container { display: grid; grid-template-columns: repeat(5, 1fr); }
.parking-anchor-nav a { min-height: 62px; padding: 1.15rem 1rem; border-right: 1px solid var(--line); color: var(--navy); font-size: .68rem; font-weight: 700; text-align: center; }
.parking-anchor-nav a:first-child { border-left: 1px solid var(--line); }
.parking-anchor-nav a:hover { color: var(--navy-deep); background: var(--soft); }
.parking-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; }
.parking-intro h2 { margin-top: 1rem; }
.parking-intro > div:last-child { color: var(--muted); }
.parking-journey { position: relative; isolation: isolate; overflow: hidden; color: rgba(255,255,255,.78); background: var(--navy-deep) url('/assets/images/carro-estacionamento-lpr.png') center / cover no-repeat; }
.parking-journey::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.96) 0%, rgba(0,27,53,.92) 52%, rgba(0,27,53,.88) 100%); }
.parking-journey-video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.parking-journey > .container { position: relative; z-index: 2; }
.parking-journey .eyebrow { color: var(--sky); }
.parking-journey h2, .parking-journey .lead { color: var(--white); }
.parking-journey .ecosystem-capabilities h3 { color: var(--blue); }
.parking-journey .parking-intro > div:last-child, .parking-journey p { color: rgba(255,255,255,.72); }
.parking-journey .ecosystem-capabilities { border-color: rgba(86,198,242,.28); }
.parking-journey .ecosystem-capabilities article { border-color: rgba(255,255,255,.14); background: rgba(0,38,74,.58); backdrop-filter: blur(8px); }
.ecosystem-capabilities { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 5rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ecosystem-capabilities article { padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ecosystem-capabilities span, .parking-difference-grid span, .segment-grid article > span { color: var(--blue); font-size: .65rem; font-weight: 800; }
.ecosystem-capabilities h3 { margin: 2.5rem 0 .8rem; }
.ecosystem-capabilities p, .parking-difference-grid p { margin: 0; color: var(--muted); font-size: .8rem; }
.parking-difference-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #cad8e1; border-left: 1px solid #cad8e1; }
.parking-difference-grid article { min-height: 240px; padding: 1.7rem; border-right: 1px solid #cad8e1; border-bottom: 1px solid #cad8e1; background: rgba(255,255,255,.42); }
.parking-difference-grid h3 { margin: 2.5rem 0 .8rem; font-size: 1.05rem; }
.parking-differentials { position: relative; color: rgba(255,255,255,.78); background: linear-gradient(90deg, rgba(0,27,53,.92) 0%, rgba(0,27,53,.82) 52%, rgba(0,27,53,.76) 100%), url('/assets/images/estacionamento-conectado.jpg') center / cover no-repeat; }
.parking-differentials .eyebrow { color: var(--sky); }
.parking-differentials .section-heading h2 { color: var(--white); }
.parking-differentials .parking-difference-grid h3 { color: var(--blue); font-weight: 700; }
.parking-differentials .heading-row > p, .parking-differentials .parking-difference-grid p { color: rgba(255,255,255,.68); }
.parking-differentials .parking-difference-grid { border-color: rgba(86,198,242,.28); }
.parking-differentials .parking-difference-grid article { border-color: rgba(255,255,255,.14); background: rgba(0,38,74,.58); backdrop-filter: blur(8px); }
.parking-products { position: relative; isolation: isolate; overflow: hidden; color: rgba(255,255,255,.78); background: var(--navy-deep) url('/assets/images/lpr_estacionamento.jpg') center / cover no-repeat; }
.parking-products::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.49) 0%, rgba(0,27,53,.48) 52%, rgba(0,27,53,.47) 100%); }
.parking-products-background { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.parking-products-video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.parking-products > .container, .parking-product-featured { position: relative; z-index: 2; }
.parking-products > .container > .heading-row { margin-bottom: 1rem; }
.parking-products .eyebrow, .parking-products .parking-product-tag { color: var(--sky); }
.parking-products .section-heading h2, .parking-products .product-copy h3 { color: var(--white); }
.parking-products .heading-row > p, .parking-products .product-copy > p, .parking-products .product-copy li span, .parking-products figcaption { color: rgba(255,255,255,.72); }
.parking-products .parking-product, .parking-products .product-copy ul, .parking-products .product-copy li { border-color: rgba(255,255,255,.18); }
.parking-products .product-copy li strong { color: var(--white); }
.parking-product { display: grid; grid-template-columns: 1fr .92fr; align-items: center; gap: 7vw; padding: 6rem 0; border-bottom: 1px solid var(--line); }
.parking-product-featured { width: 100%; margin-top: 0; padding: 2.5rem 0 6rem; }
.parking-product-featured-inner { display: grid; grid-template-columns: minmax(0, 760px); }
.parking-products-list { background: var(--white); }
.parking-product-erpcase { position: relative; isolation: isolate; overflow: hidden; color: rgba(255,255,255,.78); background: var(--navy-deep) url('/assets/images/erp-estacionamento.jpg') center / cover no-repeat; }
.parking-product-erpcase::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.92) 0%, rgba(0,27,53,.82) 52%, rgba(0,27,53,.76) 100%); }
.parking-product-erpcase-video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.parking-product-erpcase > .container { position: relative; z-index: 2; }
.parking-product-erpcase .parking-product { grid-template-columns: minmax(0, 760px); border-bottom: 0; }
.parking-product-erpcase .parking-product-tag { color: var(--sky); }
.parking-product-erpcase .product-copy h3, .parking-product-erpcase .product-copy li strong { color: var(--white); }
.parking-product-erpcase .product-copy > p, .parking-product-erpcase .product-copy li span { color: rgba(255,255,255,.68); }
.parking-product-erpcase .product-copy ul, .parking-product-erpcase .product-copy li { border-color: rgba(255,255,255,.14); }
.parking-product-mobile { position: relative; isolation: isolate; overflow: hidden; color: rgba(255,255,255,.78); background: var(--navy-deep) url('/assets/images/softpark-mobile-original.jpg') center / cover no-repeat; }
.parking-product-mobile::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.86) 0%, rgba(0,27,53,.85) 52%, rgba(0,27,53,.82) 100%); }
.parking-product-mobile-video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.parking-product-mobile > .container { position: relative; z-index: 2; }
.parking-product-mobile .parking-product { grid-template-columns: minmax(0, 760px); border-bottom: 0; }
.parking-product-mobile .product-copy h3, .parking-product-mobile .product-copy li strong { color: var(--white); }
.parking-product-mobile .product-copy > p, .parking-product-mobile .product-copy li span, .parking-product-mobile figcaption { color: rgba(255,255,255,.72); }
.parking-product-mobile .product-copy ul, .parking-product-mobile .product-copy li { border-color: rgba(255,255,255,.18); }
.parking-product-softrps { position: relative; isolation: isolate; overflow: hidden; color: rgba(255,255,255,.78); background: var(--navy-deep) url('/assets/images/rps-estacionamentos.jpg') center / cover no-repeat; }
.parking-product-softrps::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.86) 0%, rgba(0,27,53,.85) 52%, rgba(0,27,53,.82) 100%); }
.parking-product-softrps > .container { position: relative; z-index: 2; }
.parking-product-softrps .parking-product { grid-template-columns: minmax(0, 760px); border-bottom: 0; }
.parking-product-softrps .product-copy h3, .parking-product-softrps .product-copy li strong { color: var(--white); }
.parking-product-softrps .product-copy > p, .parking-product-softrps .product-copy li span { color: rgba(255,255,255,.72); }
.parking-product-softrps .product-copy ul, .parking-product-softrps .product-copy li { border-color: rgba(255,255,255,.18); }
.parking-product-softpay { position: relative; isolation: isolate; overflow: hidden; color: rgba(255,255,255,.78); background: var(--navy-deep) url('/assets/images/atm-estacionamentos.jpg') center / cover no-repeat; }
.parking-product-softpay::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.43) 0%, rgba(0,27,53,.425) 52%, rgba(0,27,53,.41) 100%); }
.parking-product-softpay > .container { position: relative; z-index: 2; }
.parking-product-softpay .parking-product { grid-template-columns: minmax(0, 760px); border-bottom: 0; }
.parking-product-softpay .product-copy h3, .parking-product-softpay .product-copy li strong { color: var(--white); }
.parking-product-softpay .product-copy > p, .parking-product-softpay .product-copy li span { color: rgba(255,255,255,.72); }
.parking-product-softpay .product-copy ul, .parking-product-softpay .product-copy li { border-color: rgba(255,255,255,.18); }
.parking-product-parkflow { position: relative; isolation: isolate; overflow: hidden; color: rgba(255,255,255,.78); background: var(--navy-deep) url('/assets/images/parkflow-lpr-background.png') center / cover no-repeat; }
.parking-product-parkflow::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.43) 0%, rgba(0,27,53,.425) 52%, rgba(0,27,53,.41) 100%); }
.parking-product-parkflow > .container { position: relative; z-index: 2; }
.parking-product-parkflow .parking-product { grid-template-columns: minmax(0, 760px); border-bottom: 0; }
.parking-product-parkflow .product-copy h3, .parking-product-parkflow .product-copy li strong { color: var(--white); }
.parking-product-parkflow .product-copy > p, .parking-product-parkflow .product-copy li span { color: rgba(255,255,255,.72); }
.parking-product-parkflow .product-copy ul, .parking-product-parkflow .product-copy li { border-color: rgba(255,255,255,.18); }
.parking-product.product-reverse .product-copy { order: 2; }
.parking-product.product-reverse figure { order: 1; }
.parking-product-tag { display: inline-block; color: #34718e; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.parking-product-mobile .parking-product-tag, .parking-product-softrps .parking-product-tag, .parking-product-softpay .parking-product-tag, .parking-product-parkflow .parking-product-tag { color: var(--sky); }
.product-copy h3 { margin: .8rem 0 1.2rem; font-size: clamp(2.3rem, 4vw, 4rem); }
.product-copy > p { color: var(--muted); }
.product-copy ul { margin-top: 2rem; border-top: 1px solid var(--line); }
.product-copy li { display: grid; grid-template-columns: .85fr 1.15fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.product-copy li strong { color: var(--navy); font-size: .73rem; }
.product-copy li span { color: var(--muted); font-size: .7rem; }
.parking-product-cta { margin-top: 2rem; }
.parking-product figure { position: relative; margin: 0; }
.parking-product figure::before { content: ""; position: absolute; inset: 24px -24px -24px 24px; z-index: -1; background: var(--soft); }
.parking-product figure > img { width: 100%; max-height: 610px; aspect-ratio: 4 / 4.6; object-fit: cover; }
.parking-product figcaption { padding-top: .7rem; color: var(--muted); font-size: .62rem; }
.product-image-stack { min-height: 610px; }
.product-image-stack > img { position: absolute; width: 72% !important; height: 82%; aspect-ratio: auto !important; object-fit: cover; box-shadow: var(--shadow); }
.product-image-stack > img:first-child { top: 0; left: 0; }
.product-image-stack > img:nth-child(2) { right: 0; bottom: 0; }
.product-image-stack figcaption { position: absolute; bottom: -2rem; left: 0; }
.segment-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #cad8e1; border-left: 1px solid #cad8e1; }
.segment-grid article { min-height: 270px; padding: 2rem; border-right: 1px solid #cad8e1; border-bottom: 1px solid #cad8e1; background: var(--white); }
.segment-grid h3 { margin: 2rem 0 .8rem; }
.segment-grid p { color: var(--muted); font-size: .8rem; }
.segment-grid small { display: block; padding-top: 1rem; border-top: 1px solid var(--line); color: #34718e; font-size: .62rem; font-weight: 700; }
.segment-grid .segment-wide { grid-column: 1 / -1; min-height: auto; }
.parking-segments { position: relative; isolation: isolate; overflow: hidden; color: rgba(255,255,255,.78); background: var(--navy-deep) url('/assets/images/soccer-arena-background.jpg') center / cover no-repeat; }
.parking-segments::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.92) 0%, rgba(0,27,53,.82) 52%, rgba(0,27,53,.76) 100%); pointer-events: none; }
.parking-segments-video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; }
.parking-segments > .container { position: relative; z-index: 2; }
.parking-segments .eyebrow { color: var(--sky); }
.parking-segments .section-heading h2 { color: var(--white); }
.parking-segments .heading-row > p, .parking-segments .segment-grid p { color: rgba(255,255,255,.68); }
.parking-segments .segment-grid { border-color: rgba(86,198,242,.28); }
.parking-segments .segment-grid article { border-color: rgba(255,255,255,.14); background: rgba(0,38,74,.58); backdrop-filter: blur(8px); }
.parking-segments .segment-grid h3 { color: var(--blue); }
.parking-segments .segment-grid small { border-color: rgba(255,255,255,.18); color: var(--sky); }
.impact-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.parking-impact { position: relative; isolation: isolate; overflow: hidden; background: var(--navy-deep) url('/assets/images/gestao_ti.png') center / cover no-repeat; }
.parking-impact::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, rgba(0,27,53,.94) 0%, rgba(0,38,74,.84) 52%, rgba(0,27,53,.78) 100%); pointer-events: none; }
.parking-impact .impact-metrics article { background: rgba(0,38,74,.56); backdrop-filter: blur(5px); }
.impact-metrics article { position: relative; overflow: hidden; padding: 2rem; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.impact-metrics.impact-motion-ready article { opacity: 0; filter: blur(7px); clip-path: inset(7% round 16px); transform: translate3d(0, 36px, 0) scale(.94); transition: opacity .55s ease, filter .75s ease, clip-path .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1), background-color .3s ease; }
.impact-metrics.impact-motion-ready article:nth-child(2) { transition-delay: .14s; }
.impact-metrics.impact-motion-ready article:nth-child(3) { transition-delay: .28s; }
.impact-metrics.impact-motion-ready.is-impact-visible article { opacity: 1; filter: none; clip-path: inset(0 round 0); transform: none; }
.impact-metrics.impact-motion-ready.is-impact-visible article:hover { background: rgba(0,68,112,.48); }
.impact-metrics strong { display: block; margin-bottom: 2rem; color: var(--blue); font-size: clamp(3.4rem, 6vw, 6rem); line-height: 1; letter-spacing: -.07em; }
.impact-metrics h3 { color: var(--blue); font-size: 1rem; }
.impact-metrics p { margin: 0; color: rgba(255,255,255,.58); font-size: .76rem; }
.impact-benefits { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 4rem; }
.impact-benefits div { padding: 0 1.5rem; border-right: 1px solid rgba(255,255,255,.18); }
.impact-benefits div:first-child { padding-left: 0; }
.impact-benefits div:last-child { border: 0; }
.impact-benefits h3 { color: var(--blue); font-size: .9rem; }
.impact-benefits p { margin: 0; color: rgba(255,255,255,.55); font-size: .7rem; }
.parking-next-step { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: min(57.2917vw, 1100px); padding: clamp(4rem, 8vw, 7rem) 0; background: var(--navy-deep); }
.parking-next-step::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,27,53,.88) 0%, rgba(0,27,53,.72) 55%, rgba(0,27,53,.58) 100%); pointer-events: none; }
.parking-next-step-video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; }
.parking-next-step > .container { position: relative; z-index: 2; }
.cta-band .container > div > p:last-child { margin: .8rem 0 0; color: rgba(255,255,255,.65); }

@media (max-width: 1000px) {
  .parking-hero-grid { grid-template-columns: 1fr; }
  .parking-hero-media { max-width: 760px; }.parking-hero-media img { min-height: 380px; }
  .ecosystem-capabilities, .parking-difference-grid { grid-template-columns: 1fr 1fr; }
  .parking-product { gap: 4rem; }
  .segment-grid { grid-template-columns: 1fr 1fr; }.segment-grid .segment-wide { grid-column: 1 / -1; }
  .impact-benefits { grid-template-columns: 1fr 1fr; gap: 2rem 0; }.impact-benefits div:nth-child(2) { border: 0; }.impact-benefits div:nth-child(3) { padding-left: 0; }
}

@media (max-width: 800px) {
  .parking-hero { padding: calc(var(--header) + 4rem) 0 5rem; }.parking-hero h1 { font-size: clamp(2.7rem, 11vw, 4rem); }
  .parking-anchor-nav { position: static; overflow-x: auto; }.parking-anchor-nav .container { display: flex; width: max-content; }.parking-anchor-nav a { width: 150px; }
  .parking-intro, .parking-product { grid-template-columns: 1fr; }.parking-product { padding: 4.5rem 0; }.parking-product.product-reverse .product-copy, .parking-product.product-reverse figure { order: initial; }.parking-product figure { max-width: 620px; }.product-image-stack { min-height: 540px; }
  .parking-product-featured { padding: 4.5rem 0; }
  .parking-product-featured-inner { grid-template-columns: minmax(0, 1fr); }
  .impact-metrics { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .parking-hero-media img { min-height: 260px; }.parking-hero-media::before, .parking-product figure::before { display: none; }
  .ecosystem-capabilities, .parking-difference-grid, .segment-grid, .impact-benefits { grid-template-columns: 1fr; }.ecosystem-capabilities article, .parking-difference-grid article, .segment-grid article { min-height: auto; }.segment-grid .segment-wide { grid-column: auto; }
  .product-copy li { grid-template-columns: 1fr; gap: .25rem; }.product-image-stack { min-height: 430px; }.impact-benefits div, .impact-benefits div:nth-child(3) { padding: 1.2rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
}

.parking-title-accent {
  color: var(--blue);
}

/* Softpark: preserve the full 16:9 scene and add restrained motion. */
.softpark-visual {
  overflow: hidden;
  border-radius: var(--radius-frame);
  background: var(--soft);
  box-shadow: var(--shadow);
}
.parking-product .softpark-visual::before { display: none; }
.parking-product .softpark-visual > img {
  display: block;
  width: 100%;
  max-height: none;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  opacity: 0;
  transform: scale(1);
  transition: transform .7s cubic-bezier(.2,.75,.25,1), filter .7s ease;
}
.parking-product.is-visible .softpark-visual > img {
  animation: softpark-image-reveal .9s cubic-bezier(.2,.75,.25,1) .12s both;
}
.softpark-visual:hover > img {
  transform: scale(1.018);
  filter: saturate(1.06) contrast(1.02);
}
.softpark-visual figcaption {
  padding: .8rem 1rem;
  background: var(--white);
}
.parking-product-featured .softpark-visual figcaption {
  color: rgba(255,255,255,.72);
  background: rgba(0,38,74,.72);
}
@keyframes softpark-image-reveal {
  from { opacity: 0; clip-path: inset(7% 0 7% 0 round var(--radius-frame)); }
  to { opacity: 1; clip-path: inset(0 round 0); }
}

@media (prefers-reduced-motion: reduce) {
  .parking-product .softpark-visual > img {
    opacity: 1;
    transform: none;
  }
}
/* Hero carousel */
.parking-carousel { isolation: isolate; }
.parking-carousel::before { pointer-events: none; }
.parking-carousel-viewport {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-frame);
  background: #00182e;
  box-shadow: 0 28px 90px rgba(0,0,0,.28);
}
.parking-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(.985);
  transition: opacity .7s ease, transform .9s cubic-bezier(.2,.7,.2,1), visibility .7s;
}
.parking-slide::before {
  content: "";
  position: absolute;
  inset: -7%;
  background-image: linear-gradient(rgba(0,27,53,.2), rgba(0,27,53,.55)), var(--slide-image);
  background-position: center;
  background-size: cover;
  filter: blur(22px) saturate(.9);
  opacity: .68;
  transform: scale(1.12);
}
.parking-slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.parking-carousel .parking-slide > img {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}
.parking-slide:nth-child(1) > img { object-position: center; }
.parking-slide:nth-child(2) > img { object-position: center 70%; }
.parking-slide:nth-child(3) > img { object-position: center; }
.parking-slide:nth-child(4) > img { object-position: center 58%; }
.parking-slide:nth-child(5) > img { object-position: center; }
.parking-slide:nth-child(6) > img { object-position: center 48%; }
.parking-slide.is-active > img { animation: parking-carousel-drift 6s ease-out both; }
.parking-slide figcaption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 2.7rem 1.2rem 1rem;
  background: linear-gradient(transparent, rgba(0,27,53,.88));
  color: rgba(255,255,255,.86);
  font-family: "Sora", "Montserrat", Arial, sans-serif;
  font-size: .68rem;
}
.parking-slide figcaption span {
  color: var(--blue);
  font-weight: 700;
  letter-spacing: .12em;
}
.parking-carousel-badge {
  position: absolute;
  z-index: 3;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .75rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(0,27,53,.7);
  color: var(--white);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}
.parking-carousel-badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 14px var(--blue);
}
.parking-carousel-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
}
.parking-carousel-dots { display: flex; flex: 1; gap: .45rem; }
.parking-carousel-dots button {
  position: relative;
  width: min(44px, 12%);
  height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.parking-carousel-dots button::before,
.parking-carousel-dots button span {
  content: "";
  position: absolute;
  top: 9px;
  right: 0;
  left: 0;
  height: 2px;
  border-radius: 999px;
}
.parking-carousel-dots button::before { background: rgba(255,255,255,.22); }
.parking-carousel-dots button span { width: 0; background: var(--blue); }
.parking-carousel-dots button.is-active span { animation: parking-carousel-progress 6s linear forwards; }
.parking-carousel.is-paused .parking-carousel-dots button.is-active span { animation-play-state: paused; }
.parking-carousel-controls { display: flex; gap: .45rem; }
.parking-carousel-controls button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: var(--white);
  cursor: pointer;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.parking-carousel-controls button:hover {
  border-color: var(--blue);
  background: rgba(0,183,255,.14);
  transform: translateY(-2px);
}
.parking-carousel-controls button:focus-visible,
.parking-carousel-dots button:focus-visible { outline-color: var(--sky); }
@keyframes parking-carousel-drift {
  from { transform: scale(1.018); }
  to { transform: scale(1); }
}
@keyframes parking-carousel-progress { to { width: 100%; } }

@media (max-width: 540px) {
  .parking-carousel-viewport { aspect-ratio: 16 / 9; }
  .parking-slide figcaption { padding-inline: .9rem; font-size: .62rem; }
  .parking-carousel-controls button { width: 36px; height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .parking-hero-background-video, .parking-journey-video, .parking-products-video, .parking-product-erpcase-video, .parking-product-mobile-video, .parking-segments-video, .parking-next-step-video { display: none; }
  .impact-metrics.impact-motion-ready article { opacity: 1; filter: none; clip-path: none; transform: none; transition: none; }
  .parking-slide { transition: none; }
  .parking-slide.is-active > img,
  .parking-carousel-dots button.is-active span { animation: none; }
  .parking-carousel-dots button.is-active span { width: 100%; }
}

/* Hero image sequence */
.parking-image-animation { isolation: isolate; }
.parking-image-animation::before { pointer-events: none; }
.parking-image-animation-viewport {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-frame);
  background: #00182e;
  box-shadow: 0 28px 90px rgba(0,0,0,.28);
}
.parking-image-animation-viewport::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(135deg,rgba(0,183,255,.08),transparent 42%,rgba(0,27,53,.28));
  pointer-events: none;
}
.parking-image-frame {
  position: absolute;
  inset: 0;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  animation: parking-image-frame-cycle 25s ease-in-out infinite;
  animation-delay: calc(var(--frame) * 5s);
}
.parking-image-frame::before {
  content: "";
  position: absolute;
  inset: -9%;
  background: linear-gradient(rgba(0,27,53,.2),rgba(0,27,53,.6)),var(--frame-image) center / cover no-repeat;
  filter: blur(22px) saturate(.88);
  transform: scale(1.13);
}
.parking-image-frame > img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
  animation: parking-image-drift 25s cubic-bezier(.2,.65,.25,1) infinite;
  animation-delay: calc(var(--frame) * 5s);
}
.parking-image-frame:nth-child(2) > img { object-position: center 70%; }
.parking-image-frame:nth-child(4) > img { object-position: center 58%; }
.parking-image-frame figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 3.25rem 1.2rem 1rem;
  background: linear-gradient(transparent,rgba(0,27,53,.92));
  color: rgba(255,255,255,.9);
  font-family: "Sora","Montserrat",Arial,sans-serif;
  font-size: .68rem;
}
.parking-image-frame figcaption span { color: var(--blue); font-weight: 700; letter-spacing: .12em; }
.parking-image-animation-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .75rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(0,27,53,.72);
  color: var(--white);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}
.parking-image-animation-badge i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 14px var(--blue); animation: parking-image-pulse 2s ease-in-out infinite; }
.parking-image-animation-timeline { display: grid; height: 54px; grid-template-columns: repeat(5,1fr); align-items: center; gap: .45rem; }
.parking-image-animation-timeline span { position: relative; overflow: hidden; height: 2px; border-radius: 999px; background: rgba(255,255,255,.22); }
.parking-image-animation-timeline span::after { content: ""; position: absolute; inset: 0; background: var(--blue); transform: scaleX(0); transform-origin: left; animation: parking-image-timeline 25s linear infinite; animation-delay: calc(var(--frame) * 5s); }
@keyframes parking-image-frame-cycle { 0%,18% { opacity: 1; } 22%,100% { opacity: 0; } }
@keyframes parking-image-drift { 0% { transform: scale(1.045) translate3d(-.6%,.3%,0); } 20% { transform: scale(1) translate3d(0,0,0); } 22%,100% { transform: scale(1); } }
@keyframes parking-image-timeline { 0% { transform: scaleX(0); opacity: 1; } 18% { transform: scaleX(1); opacity: 1; } 22%,100% { transform: scaleX(1); opacity: 0; } }
@keyframes parking-image-pulse { 50% { opacity: .45; transform: scale(.78); } }

@media (max-width: 540px) {
  .parking-image-animation-viewport { aspect-ratio: 16 / 9; }
  .parking-image-animation-timeline { height: 52px; }
  .parking-image-frame figcaption { padding: 2.5rem .9rem .8rem; font-size: .62rem; }
  .parking-image-animation-badge { top: .7rem; left: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  .parking-image-frame, .parking-image-frame > img, .parking-image-animation-timeline span::after, .parking-image-animation-badge i { animation: none; }
  .parking-image-frame:first-child { opacity: 1; }
  .parking-image-animation-timeline span:first-child::after { opacity: 1; transform: scaleX(1); }
}
