/* Scoped to the home carousel; service pages retain their own photography. */
/* The bundle paints every slide and card with the old full-size heroes (two of them 2.4 MB PNGs), hidden or not.
   While the optimized scenes are in use (or loading) those images are never requested; if the scenes fail, they return. */
.ai-hero:not([data-scenes=unavailable]):not([data-scenes=unsupported]) .ai-slide{background-image:none!important}
.ai-hero:not(.has-scenes):not([data-scenes=unavailable]):not([data-scenes=unsupported]) .hero-cards button{background-image:none!important}
.ai-hero.has-scenes{background:#07100d;min-height:760px}
.has-scenes .ai-slide{transform:none!important;transition:opacity .65s,visibility .65s}
.has-scenes .ai-slide.scene-ready{background-image:none!important}
.has-scenes .vision-hud,.has-scenes .hero-field{display:none!important}
.has-scenes .scene-visual{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s;pointer-events:none}
.has-scenes .scene-ready .scene-visual{opacity:1}
.has-scenes .scene-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,6,5,.94) 0%,rgba(4,6,5,.84) 26%,rgba(4,6,5,.5) 46%,transparent 70%),linear-gradient(0deg,rgba(3,12,9,.9),transparent 27%)}
.has-scenes .scene-caption{position:absolute;top:32px;right:30px;color:var(--tx-2);letter-spacing:.14em;font:500 10px/1.5 'IBM Plex Mono',monospace;padding:8px 12px;border:1px solid #ffffff30;border-radius:4px;background:#06110db8}
.has-scenes .ai-slide:nth-child(n) .slide-copy{left:clamp(38px,5.8vw,100px);right:auto;top:46%;bottom:auto;transform:translateY(-50%);width: min(460px,39vw)}
.has-scenes .slide-copy{display:flex;flex-direction:column;align-items:flex-start}
/* Same type as the opening: mono eyebrow, Inter 600 sentence-case headline (the bundle sets uppercase and synthetic weights). */
.has-scenes .slide-copy>span{order:0;font:500 11px/1 'IBM Plex Mono',monospace;letter-spacing:.22em;color:var(--tx-accent);margin-bottom:20px}
.has-scenes .slide-copy h2{order:1;font-family:Inter,Arial,sans-serif;font-weight:600;text-transform:none;color:var(--tx-1);font-size:clamp(40px,4.2vw,60px);line-height:1.02;letter-spacing:-.024em;margin:0 0 22px;text-shadow:none;text-wrap:balance}
.has-scenes .slide-copy p{order:2;color:var(--tx-2);font-size:clamp(15px,1.25vw,18px);font-weight:400;line-height:1.55;max-width:360px;margin:0 0 26px}
.has-scenes .slide-copy a{order:3;color:#050505;font-weight:600;flex-shrink:0}
.has-scenes .scene-marks{opacity:0;transition:opacity .7s .25s}
.has-scenes .is-active .scene-marks{opacity:1}
.scene-leader{fill:none;stroke:#c5fb05;stroke-width:1.2;vector-effect:non-scaling-stroke}
.scene-dot{fill:#c5fb05;stroke:#08190f;stroke-width:1}
.scene-ring{fill:#c5fb050a;stroke:#c5fb0570;stroke-width:1;vector-effect:non-scaling-stroke}
.scene-label-bg{fill:#07150edb;stroke:#c5fb0560;stroke-width:.7}
.scene-label{fill:var(--tx-1);font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.5px}
.has-scenes .hero-cards button{background-image:linear-gradient(0deg,#04100df2,transparent 90%),var(--thumb-image);opacity:.82}
.has-scenes .hero-cards button.is-active{opacity:1}
.has-scenes .hero-count{color:var(--tx-2);font:500 11px/1 'IBM Plex Mono',monospace;letter-spacing:.08em}
.ai-hero .hero-cards strong{color:var(--tx-1);font-size:13px;font-weight:600;line-height:1.2;letter-spacing:-.005em;text-transform:none}
.ai-hero .hero-cards small{font:500 10.5px/1 'IBM Plex Mono',monospace;color:var(--tx-accent)}
@media(max-width:1100px) and (min-width:901px){.has-scenes .ai-slide:nth-child(n) .slide-copy{width:39vw;left:36px}.has-scenes .slide-copy h2{font-size:45px}.has-scenes .slide-copy>span{margin-bottom:14px}}
@media(max-width:900px){
 .ai-hero.has-scenes{height:100svh;min-height:840px}
 /* The copy sits right above the rail and the photo fills the space above it, whatever the copy length. */
 .has-scenes .scene-visual{height:62%;inset:0 0 auto;}
 .has-scenes .scene-veil{background:linear-gradient(0deg,#07100d 22%,transparent 44%)}
 .has-scenes .slide-copy::before{content:'';position:absolute;z-index:-1;top:-110px;bottom:-30px;left:-28px;right:-28px;pointer-events:none;background:linear-gradient(0deg,#07100d calc(100% - 110px),rgba(7,16,13,0))}
 .has-scenes .scene-caption{top:16px;right:16px;font-size:9px;padding:6px 8px}
 .has-scenes .ai-slide:nth-child(n) .slide-copy{left:28px;right:28px;width:auto;top:auto;bottom:190px;transform:none}
 .has-scenes .slide-copy>span{font-size:10px;margin-bottom:13px}
 .has-scenes .slide-copy h2{font-size:clamp(30px,5.2vw,43px);line-height:1;max-width:560px;margin-bottom:16px}
 .has-scenes .slide-copy p{font-size:14px;line-height:1.5;max-width:480px;margin-bottom:20px}
 .has-scenes .slide-copy a{min-height:48px;width:220px;font-size:13px}
 .has-scenes .hero-rail{bottom:128px}
 .has-scenes .hero-count{display:inline}
 .has-scenes .hero-cards button{height:84px}
}
@media(max-width:560px){
 .ai-hero.has-scenes{min-height:820px}
 .has-scenes .scene-visual{height:58%}
 .has-scenes .ai-slide:nth-child(n) .slide-copy{left:20px;right:18px}
 .has-scenes .slide-copy::before{left:-20px;right:-18px}
 .has-scenes .slide-copy h2{font-size:32px}
 .has-scenes .slide-copy p{font-size:14px;line-height:1.5}
 .has-scenes .slide-copy a{width:min(100%,230px)}
 .has-scenes .scene-caption{font-size:9px;top:14px;right:10px;letter-spacing:.08em}
 .scene-label{font-size:10px}
}
.has-scenes .is-active .scene-ring{animation:scene-breathe 3s ease-in-out 2}
@keyframes scene-breathe{0%,100%{opacity:.4}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.has-scenes *{transition:none!important;animation:none!important}}

.has-scenes .ai-slide[data-scene="supermercados"] h2{font-size:clamp(30px,3.7vw,56px)}
@media(max-width:560px){.has-scenes .ai-slide[data-scene="supermercados"] h2{font-size:28px}}
