/* Fotografía añadida a las superficies existentes; tokens y tipografías del kit. */
.web-banner { margin: 28px 0 0; width: 100%; overflow: hidden; border-radius: 24px; background: var(--ad-surface, #f5efe7); position: relative; }
.web-banner picture, .photo-slot picture { display: block; width: 100%; }
.web-banner img { display: block; width: 100%; height: auto; aspect-ratio: 12 / 5; object-fit: cover; }
.web-banner figcaption, .photo-slot figcaption { position: absolute; bottom: 12px; left: 12px; right: auto; max-width: calc(100% - 24px); margin: 0; padding: 4px 9px; border-radius: 8px; background: #fffef4ed; color: #443b48; font: 10px/1.5 var(--ad-font-body, sans-serif); }
.art-slot.photo-slot { padding: 0; margin: 0; min-height: 0; background: #f5efe7; overflow: hidden; border: 0; }
.art-slot.photo-slot::after { content: none; }
.photo-slot img { display: block; width: 100%; height: auto; aspect-ratio: 640 / 426; object-fit: cover; }
.interactive-hero > .photo-slot { align-self: center; }
.seo-hero:not(.interactive-hero):has(.web-banner) { max-width: none; }
.art-icon { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 16px; background: #f6edf8; color: #7c337f; }
.guide-card picture { display: block; overflow: hidden; }
.guide-card picture img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
@media (max-width: 700px) {
 .web-banner { margin-top: 22px; border-radius: 20px; }
 .web-banner img { aspect-ratio: 13 / 14; }
 .interactive-hero > .art-slot.photo-slot { min-height: 0; max-height: 260px; }
 .photo-slot figcaption { bottom: 10px; font-size: 9px; }
}
/* Marcas oficiales: los SVG conservan sus colores y relación de aspecto. */
.brand-orbit { position: absolute; left: 4%; right: 4%; bottom: 28px; height: 136px; pointer-events: none; }
.brand-orbit-arcs { position: absolute; inset: 0; width: 100%; height: 100%; }
.brand-orbit-row { position: absolute; inset: 28px 0 0; display: flex; align-items: center; justify-content: center; gap: clamp(16px,3vw,42px); }
.brand-orbit-circle { width: clamp(46px,5.2vw,76px); height: clamp(46px,5.2vw,76px); display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: white; box-shadow: 0 8px 28px #30213f26, 0 2px 6px #30213f12; }
.brand-orbit-circle:nth-child(2n) { transform: translateY(-12px); }
.brand-orbit-circle img { width: clamp(26px,2.8vw,40px); height: clamp(26px,2.8vw,40px); object-fit: contain; }
.home-banner figcaption { top: 12px; bottom: auto; }
.network-photo .network-hero-brand { position: absolute; right: 18px; top: 18px; width: 120px; height: 120px; display: grid; place-items: center; border-radius: 50%; background: white; box-shadow: 0 8px 26px #30213f24; }
.network-hero-brand img { width: 64px; height: 64px; object-fit: contain; }
.post-demo header img.post-network-logo { width: 28px; height: 28px; flex: 0 0 auto; object-fit: contain; padding: 3px; background: white; border-radius: 7px; }
.plan-networks { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 20px; }
.plan-networks img { width: 24px; height: 24px; object-fit: contain; }
.showcase-piece { position: relative; }
.example-network { position: absolute; top: 12px; left: 12px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: white; box-shadow: 0 4px 15px #30213f20; }
.showcase-piece .example-network img { width: 24px; height: 24px; object-fit: contain; }
.network-compatibility { text-align: center; font-size: 12px; color: var(--ad-muted); position: relative; }
@media (max-width: 700px) {
 .brand-orbit { left: 3%; right: 3%; bottom: 16px; height: 80px; }
 .brand-orbit-row { gap: clamp(3px,1.3vw,6px); inset: 18px 0 0; }
 .brand-orbit-circle { width: clamp(29px,9.2vw,38px); height: clamp(29px,9.2vw,38px); }
 .brand-orbit-circle:nth-child(2n) { transform: translateY(-7px); }
 .brand-orbit-circle img { width: clamp(18px,5.5vw,22px); height: clamp(18px,5.5vw,22px); }
 .network-photo .network-hero-brand { width: 80px; height: 80px; right: 12px; top: 12px; }
 .network-hero-brand img { width: 42px; height: 42px; }
 .plan-networks { gap: 10px; }
}
